无法启动可在另一台计算机上执行的docker容器

时间:2017-07-14 15:42:03

标签: linux bash docker

我有两台相同的机器

  

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:没有这样的文件或目录"

我只有一个钩子。导入后容器的大小与原始容器的大小不同。

1 个答案:

答案 0 :(得分:1)

这是一个显着的差异,从你所说的:

  

我在一台机器上运行docker save,在另一台机器上运行docker导入

不要import图片,load它:

docker load < imagefile.tar

如果改为import,则导入的图像不带任何元数据(WORKDIR,CMD等)。

docker savedocker export

解释棘手的概念:

docker export <container-id>容器的文件系统导出为tar存档
因此,docker import只会将文件系统信息作为新图像导入,而不需要任何CMD,WORKDIR等。

docker save将一个或多个图片保存到tar存档
因此,docker load将恢复完整的图像(文件系统+元数据为CMD,WORKDIR等)

奇怪的是,你可以混合和混淆它们:save&amp;进口和出口&amp;负荷。

总是这样:保存&amp;加载;或出口&amp;进口