在主机和儿童docker之间共享图像

我阅读这篇文章http://blog.docker.io/2013/09/docker-can-now-run-within-docker/ ,我想分享我的“主机”docker和“孩子”docker之间的图像。 但是当我跑步

sudo docker run -v / var / lib / docker:/ var / lib / docker -privileged -t -i jpetazzo / dind

我无法连接到dind容器中的“子”泊坞窗。

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实例)插入这个目录,它可能会有意想不到的结果。

有多种解决scheme,取决于你想达到什么目的。

  • 如果你想能够从一个容器内运行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上进行黑客攻击和/或想运行不同的版本),但是想访问相同的映像,也许你可以在一个容器中运行一个私有的registry,使用该registry轻松地在Docker-in-the-Host和Docker-in-the-Container之间共享映像。

不要犹豫,提供有关您的用例的更多细节,以便我们可以告诉您最合适的解决scheme!