我知道/var/lib/docker
但是在另一台机器上安装此目录足以恢复原始机器上的docker功能吗?我在不同的CoreOS实例之间尝试过此操作,但是当发出docker image
时,即使它们位于/var/lib/docker
目录中,也不会显示图像。我是否遗漏了一些应该转移的其他数据?
最终目标是拥有一个可以从任何机器构建的图像的便携式“回购”。
答案 0 :(得分:1)
docker export,从机器A到机器B的scp,以及docker导入应该适合你。
答案 1 :(得分:0)
我认为为了让你像这样转移码头图像,他们首先要压缩为tar。
答案 2 :(得分:0)
对于上述查询,如果我没有错,你想将图像(所有图像)传输到远程机器。
这种方法的一种简单方法是在第二台机器(比如机器B)上创建一个注册表,然后从主机(机器A)推送所有图像。
但是我怀疑你所指的本地挂载点存在一些权限问题。我建议你先在本地挂载点上用chmod 777
命令检查。然后如果它有效,你可以提供访问权限限制权限。
同样,我还没有尝试在其他计算机/var/lib/docker
上安装,但如果它必须工作,你应该给予许可,它应该由docker group拥有。
如果您遇到许可问题,请告诉我们。 祝你好运
答案 3 :(得分:0)
因此,在我的解决方案中,我同时使用了一个私有的docker注册表和一个共享的' /var/lib/docker
我在我的(短暂的)实例/构建机器之间安装。我打算使用注册表将图像分发给不会构建的机器。共享docker dir有助于缩短构建时间。我对每个dockerfile都有以下步骤。
docker pull $REGISTRY_HOST/$name
docker build -t $name $itsdir
echo loading into registry \
$REGISTRY_HOST/$name
#assuming repos in 'root' ( library/ )
docker rmi $REGISTRY_HOST/$name
docker tag $name $REGISTRY_HOST/$name
docker push $REGISTRY_HOST/$name
docker rmi $REGISTRY_HOST/$name
我认为这很有效。