我有两台相同的机器
Amazon Linux AMI发布2016.09
我有相同版本的Docker
Docker版本1.12.6,内部版本7392c3b / 1.12.6
我在一台机器上运行docker,在另一台机器上运行docker导入。 我也检查了两台机器上的sha256sum。
我执行某种命令之后
docker run --name my_name --rm=true -v /my_volume:my_volume image_name /bin/bash
在一台机器上我收到错误
container_linux.go:247:启动容器进程导致" exec:\" / bin / bash \":stat / bin / bash:没有这样的文件或目录"
我只有一个钩子。导入后容器的大小与原始容器的大小不同。
答案 0 :(得分:1)
这是一个显着的差异,从你所说的:
我在一台机器上运行docker save,在另一台机器上运行docker导入
不要import
图片,load
它:
docker load < imagefile.tar
如果改为import
,则导入的图像不带任何元数据(WORKDIR,CMD等)。
docker save
与docker export
解释棘手的概念:
docker export <container-id>
:将容器的文件系统导出为tar存档。
因此,docker import
只会将文件系统信息作为新图像导入,而不需要任何CMD,WORKDIR等。
docker save
:将一个或多个图片保存到tar存档。
因此,docker load
将恢复完整的图像(文件系统+元数据为CMD,WORKDIR等)
奇怪的是,你可以混合和混淆它们:save&amp;进口和出口&amp;负荷。
总是这样:保存&amp;加载;或出口&amp;进口