如何在docker(DIND)中运行docker容器?

我试图在docker https://hub.docker.com/_/docker中使用Docker运行另一个容器内的容器。

当我运行以下:

docker run --privileged docker:stable-dind docker run hello-world 

我收到以下错误信息:

docker:在unix:///var/run/docker.sock中无法连接到Docker守护进程。 docker守护进程是否正在运行? 参见“docker运行 – 帮助”。

我必须错过一些东西,我怎么可以在docker里面运行docker?

我不认为你可以做到这一点(其他人可能会纠正我)。 但是,正如hub.docker.com/_/docker/中所解释的那样 ,您可以启动docker -in-docker容器作为后台守护进程( -d ),然后启动其他容器。

要启动父容器,请运行

 docker run -d --name some-docker --privileged docker:stable-dind 

some-docker这个名字是任意的。 稍后将用它来识别这个容器。 要启动一个容器,运行

 docker run --link some-docker:docker docker run hello-world 

--link选项公开父容器的networking端口并设置环境variables,使得内部容器使用dind映像中的docker。