docker load命令失败,出现“no such file or directory”错误

hpcdzsge  于 12个月前  发布在  Docker
关注(0)|答案(1)|浏览(378)

我试图从Ubuntu V23.10上的tar文件(以前使用docker保存创建)加载docker镜像。我将tar(worker.tar)文件放在名为/web/tars的目录中。
我cd到/web/tars并执行ls -l以获得:

-rw-r--r-- 1 root root 583469654 May 31  2022 worker.tar

字符串
然后我调用命令:

docker load --input worker.tar


并得到以下响应:

open worker.tar: no such file or directory


这是没有意义的,因为当我执行“tar tvf worker.tar”时,我会得到一个保存到tar文件中的所有图像层的列表。此外,如果我在其他操作系统上执行docker加载,我没有问题“找到”tar文件。
那么为什么Docker无法在Ubuntu上“找到”我的tar文件呢?

50few1ms

50few1ms1#

请使用<作为替代:

docker load < worker.tar

字符串
对于--input,它从tar archive file读取,而不是STDIN

docker load --input /web/tars/worker.tar

Ref:https://docs.docker.com/engine/reference/commandline/load/

你提到<工作,但--input不工作。我不知道确切的原因,但它可能与文件权限有关,也许是如果你的docker没有访问要加载的文件。你也可以检查docker守护程序日志来找到错误(对于ubuntu,journalctl):

sudo journalctl -fu docker.service


另一种方法:

cat worker.tar | docker import - <image_name>:<image_version/tag>

Ref:Can't load docker from saved tar image

相关问题