将我的系统从14.10升级到15.04后,我似乎无法像以前那样使用docker。我已经拥有一个我的用户所属的docker组,而且我曾经能够使用没有sudo的docker就好了。现在我不能使用它,除非我在另一个终端运行sudo docker -d
。只需运行docker ps
就会给我这个错误:
FATA[0000] Get http:///var/run/docker.sock/v1.18/containers/json: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?
我已经尝试重新安装,重新启动,重新启动服务,并吹灭配置无济于事。任何提示将不胜感激。作为旁注,我在vm中安装15.04以查看我是否可以让docker在那里工作并且我能够设置它没有问题。似乎是那些从14.10升级的人特有的问题。
你检查过这个http://docs.docker.com/articles/systemd/了吗?这帮助我在Ubuntu 15.04下启动了docker。
如果失败该怎么办......
$ sudo usermod -aG docker $USER
..并且您已将用户添加到docker组并且Ubuntu仍需要sudo:
如果在将用户添加到docker组之前最初使用sudo运行Docker CLI命令,则可能会看到以下错误,这表示由于sudo命令而创建的~/.docker/
目录的权限不正确。
要解决此问题,请删除~/.docker/
目录(它会自动重新创建,但任何自定义设置都将丢失),或使用以下命令更改其所有权和权限:
$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
$ sudo chmod g+rwx "$HOME/.docker" -R
mafahand提供的链接告诉我们如何在基于systemd的主机上使用docker。 Ubuntu 15.04现在使用systemd,而旧版本使用upstart。这可以解释为什么升级后的系统表现出不稳定的行查看the Ubuntu wiki在这方面的一些帮助。
安装docker后通过
sudo apt install docker.io
您可能必须重新启动系统或手动启动docker.socket单元。由于某些原因,安装后我的机器上没有发生这种情况。
类型
systemctl status docker
检查docker是否已启动并正在运行。如果未启用则使用
sudo systemctl enable docker
永久地和/或
sudo systemctl start docker
运行服务。