0

我有一个已安装的简单 Ubuntu 16.10 容器docker.io

docker 进程在启动后终止,并且日志中包含此信息。有任何故障排除建议吗?

$ 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"
4

3 回答 3

1

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

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

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

  1. 绑定挂载docker.sock。有人这样称呼DooD(Docker-outside-of-Docker)

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

  2. 安装 docker(client) 并指定DOCKER_HOST访问远程 docker 守护进程。小心使用证书保护套接字

于 2017-12-21T17:36:09.387 回答
0

如果不以 sudo 运行,您是否以 sudo 运行 docker 或

否则将用户组添加到 docker

码头工人组。为此运行以下命令:

sudo usermod -aG docker $USER

于 2017-12-21T17:20:09.193 回答
0

答案很简单。

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

(@SunghoMoon 的回复中也部分提到了这一点。所以归功于他)。

于 2017-12-21T18:53:35.127 回答