Docker(DND)中的Docker未启动

时间:2017-12-21 17:12:45

标签: docker docker-in-docker

我有simple Ubuntu 16.10 container已安装docker.io

docker进程在启动后终止,并且log具有此信息。任何疑难解答建议?

$ docker run -it --name dcos-ubuntu-python5 python-docker /bin/bash

root@5ff6bb6b6dc7:/# docker run hello-world
docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?.
See 'docker run --help'.

root@5ff6bb6b6dc7:/# service docker start
 * Starting Docker: docker                                                                                                                                          [ OK ]
root@5ff6bb6b6dc7:/# service docker status
 * Docker is not running

root@5ff6bb6b6dc7:/# tail -f /var/log/docker.log
time="2017-12-21T17:09:45.464736873Z" level=info msg="libcontainerd: new containerd process, pid: 50"
time="2017-12-21T17:09:46.472578239Z" level=fatal msg="Error starting daemon: error initializing graphdriver: operation not permitted"

3 个答案:

答案 0 :(得分:1)

为什么要在docker容器中运行docker?

开发Docker-in-Docker是为了帮助Docker开发。并且它需要--privileged标志来运行docker容器。(请阅读jpetazzo的博客here。)

如果你真的想在docker容器中执行docker,你还有其他选择。

  1. 绑定docker.sock。有些人称之为DooD(Docker-outside-of-Docker)

    docker run -v /var/run/docker.sock:/var/run/docker.sock ...

  2. 安装docker(客户端)并指定DOCKER_HOST以访问远程docker守护程序。请注意socket protection with certificates

答案 1 :(得分:0)

如果不以sudo或

运行,您是否正在将docker作为sudo运行?

否则将用户组添加到docker

docker group。对于此运行以下命令:

sudo usermod -aG docker $ USER

答案 2 :(得分:0)

答案很简单。

docker run -it --privileged --name dcos-ubuntu-python5 python-docker /bin/bash

(部分也在@ SunghoMoon的回复中提到过。所以对他有信用)。