我读了这篇文章http://blog.docker.io/2013/09/docker-can-now-run-within-docker/,我希望在我的主持人和#34;之间分享图片。码头工人"孩子"泊坞窗。但是当我跑步时
sudo docker run -v /var/lib/docker:/var/lib/docker -privileged -t -i jpetazzo/dind
我无法连接到"孩子"来自 dind 容器的docker。
root@5a0cbdc2b7df:/# docker version
Client version: 0.8.1
Go version (client): go1.2
Git commit (client): a1598d1
2014/03/13 18:37:49 Can't connect to docker daemon. Is 'docker -d' running on this host?
如何在主机和儿童码头之间共享本地图像?
答案 0 :(得分:7)
你不应该这样做! Docker假定它具有/var/lib/docker
的独占访问权限,如果您(或另一个Docker实例)干扰此目录,则可能会产生意外结果。
有多种解决方案,具体取决于您希望实现的目标。
如果您希望能够从容器中运行Docker命令,但不需要单独的守护程序,那么您可以与此容器共享Docker控件套接字,例如:
docker run -v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/bin/docker:/usr/bin/docker \
-t -i ubuntu bash
如果您真的想要运行不同的Docker守护程序(例如,因为您正在攻击Docker和/或想要运行不同的版本),但想要访问相同的图像,也许您可以运行私有容器中的注册表,并使用该注册表轻松地在Docker-in-the-Host和Docker-in-the-Container之间共享图像。
不要犹豫提供有关您的用例的更多详细信息,以便我们告诉您最合适的解决方案!