为离线环境准备 docker 个图像 tar

Prepare docker images tar for offline-environment

最终编辑:找到解决方案 - 将其作为答案发布,希望它有用:)

我是 docker 的新手,想完成一件事:

我想将我的 docker 图像存储到 .tar 以便稍后在环境中启动 docker-compose up 没有 互联网连接。

我尝试了 saveload 选项,但是加载后,图像没有标签也没有存储库值 - 后来启动 docker-compose up,它 自动 想要拉取图像 - 不要使用我加载的图像。

有谁知道如何实现我想要的吗?

编辑:我以前没有写过它 - 我的错 - 我可以实现我想要的每个命令的单个图像 - 通过不按 id 传递图像,而是使用 repo:tag - 不幸的是,我找不到在一个命令中对所有图像执行此操作的方法 - 当我使用 docker save -o .\newTar.tar $(docker images -q),在使用 docker load -i .\newTar.tar 加载它们并调用 docker-compose up 他们需要 pull

如果您是从标签(例如 docker save -o my-image.tar user9123/my-image:latest)保存的,则您的图像应该使用标签

加载(例如 docker load -i my-image.tar

不过,如果这不起作用,您始终可以在加载后使用 docker tag 为图像命名。例如,docker tag 84fc2d8f0df8 user9123/my-image:latest

感谢您的帮助 - 在睡了一段时间后我想出了解决方案 :D

因为如果您使用 repo:tag 传递图像,加载图像会离线工作,我使用此保存命令:

docker save -o .\firstTry.tar $(docker images --format "{{.Repository}}:{{.Tag}} ")

然后我加载它们:

docker 加载-i .\firstTry.tar

结果:所有图像都保存在一个 .tar 文件中,可以在不从存储库中拉取的情况下加载它们