如果您确实想在另一个Docker容器中运行Docker容器,则应使用Docker提供的现有图像(https://hub.docker.com/_/docker)而不是创建自己的基本图像:选择标记为图像的图像作为
dind(
d ocker in d ocker)或
<docker_version>-dind(like
18.09.0-dind)。如果要运行自己的映像(尽管不建议这样做),请不要忘记使用
--privileged选项运行它(这就是为什么会出现错误)。
带有
docker官方图片的示例:
# run Docker container running Docker daemondocker run --privileged --name some-docker -d docker:18.09.0-dind# run hello-world Docker image inside the Docker container previously starteddocker exec -i -t some-docker docker run hello-world
不过,我同意@DavidMaze的评论以及他所引用的参考博客文章(请勿将Docker-in-
Docker用于CI):应当尽可能避免使用Docker-in-
Docker。



