Docker inside Docker (没有命令行)

Docker inside Docker (without command line)

我想 运行 docker 守护程序在我的 docker 图像中。我知道我可以通过在 运行 我的 docker 图像期间公开外部 docker 进程来轻松实现这一点,但不幸的是我无法控制我的图像 运行。我不能使用 DIND。

因此我想在 Dockerfile 或作为我的入口点的某个脚本中启动 docker 服务。我尝试调用命令:

CMD service docker start

在映像中下载并安装 docker 之后,还将此命令包含在某些脚本 start.sh 中并调用它:

ENRYPOINT ["path/to/script/start.sh"]

None 这行得通。是否完全有可能 运行 docker 按照我的意愿,或者我做错了什么,或者在我的执行环境中是不可能的?

我建议使用 DIND 容器(Docker in Docker)

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

Link 至 Docker 中心:https://hub.docker.com/_/docker/

根据你的要求,你不能。

为了 运行 docker 容器内的 docker 服务,您需要修改容器的启动方式以赋予内部 docker 服务特权docker 默认情况下限制服务。