Docker里面的Docker(没有命令行)
我想在docker镜像里面运行docker守护进程。 我知道我可以通过在运行Docker镜像时暴露外部docker进程来轻松实现这一点,但不幸的是,我无法控制镜像的运行方式。 我不能使用DIND。
因此,我想在Dockerfile或某个脚本中启动docker服务,这是我的入口点。 我试过调用命令:
CMD service docker start
在图像下载并安装docker之后,在一些脚本start.sh
包含这个命令并调用它:
ENRYPOINT ["path/to/script/start.sh"]
没有一个工作。 是否可以根据需要运行docker,或者我正在做的事情不正确,或者在我的执行环境中是不可能的?
根据你的要求,你不能。
要在Docker容器中运行Docker服务,您需要修改容器的启动方式,以赋予外部docker服务默认限制的内部docker服务特权。
我会build议使用DIND容器(Docker中的Docker)
docker run --privileged --name some-docker -d docker:1.8-dind
链接到Docker Hub: https : //hub.docker.com/_/docker/