Linux Can';t启动可在另一台机器上执行的docker容器
我有两台同样的机器 亚马逊Linux AMI 2016.09版 其中我有相同版本的Docker Docker版本1.12.6,构建7392c3b/1.12.6 我在一台机器上运行docker save,在另一台机器上运行docker import。 我还检查了两台机器上的sha256sum 在我执行某种命令之后Linux Can';t启动可在另一台机器上执行的docker容器,linux,bash,docker,Linux,Bash,Docker,我有两台同样的机器 亚马逊Linux AMI 2016.09版 其中我有相同版本的Docker Docker版本1.12.6,构建7392c3b/1.12.6 我在一台机器上运行docker save,在另一台机器上运行docker import。 我还检查了两台机器上的sha256sum 在我执行某种命令之后 docker run --name my_name --rm=true -v /my_volume:my_volume image_name /bin/bash 在一台机器上我得到
docker run --name my_name --rm=true -v /my_volume:my_volume image_name /bin/bash
在一台机器上我得到一个错误
container\u linux.go:247:启动容器进程导致“exec:\”/bin/bash\“:stat/bin/bash:没有这样的文件或目录”
我只有一个钩子。导入后的容器大小与原始容器不同。这里有一个明显的差异,与您所说的不同: 我在一台机器上运行docker save,在另一台机器上运行docker import 不要
导入
图像,加载
图像:
docker load < imagefile.tar
docker load
如果您import
,则导入图像时不带任何元数据(WORKDIR、CMD等)
docker保存
与docker导出
对棘手概念的解释:
docker导出
:将容器的文件系统导出为tar存档。因此,
docker import
只将文件系统信息作为新映像导入,而不使用任何CMD、WORKDIR等
docker save
:将一个或多个图像保存到tar存档。因此,
docker load
将恢复完整的映像(文件系统+元数据,如CMD、WORKDIR等)
奇怪的是,你可以把它们混在一起:保存&导入,导出&加载
始终如此:保存和加载;或者导出和导入检查两个系统上的外壳<代码>echo$0或
echo$SHELL
。您在两个系统上使用的是同一个shell吗?/bin/bash在both上。我建议您以交互方式连接到您的容器,然后尝试使用/bin/bash命令。因为错误消息说它无法对其进行归档。在尝试在容器内执行/bin/bash的同时,还要检查$PATH变量。