我读了这篇文章http://blog.docker.io/2013/09/docker-can-now-run-within-docker/,我想在我的"主机"docker和"child"docker之间共享图像.但是当我跑步的时候
sudo docker run -v /var/lib/docker:/var/lib/docker -privileged -t -i jpetazzo/dind
我无法从dind容器连接到"child" 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?
如何在主机和儿童码头之间共享我的本地图像?
你不应该这样做!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之间共享图像.
不要犹豫,提供有关您的用例的更多详细信息,以便我们告诉您最合适的解决方案!