【问题标题】:Tips on getting docker to work without having to run `sudo docker -d` on Ubuntu 15.04无需在 Ubuntu 15.04 上运行 sudo docker -d 即可让 docker 工作的技巧
【发布时间】:2015-07-02 08:24:28
【问题描述】:

将我的系统从 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 升级的用户特有的问题。

【问题讨论】:

  • 因为它与新的 Ubuntu 版本有关,所以应该在 askubuntu.com 或任何 docker 论坛上询问,也许在 serverfault.com 上。
  • ubuntu 15.04 从 upstart 切换到 systemd - wiki.ubuntu.com/SystemdForUpstartUsers - 这就是 docker 服务没有自动启动的原因。
  • @Alexander,好点子,我会继续调查这些论坛。
  • @ISanych,我也是这么想的,但是即使我通过 systemctl 设置了服务,它也不起作用。
  • @haymez journalctl 日志中有关于该服务的任何内容吗?

标签: linux ubuntu service docker daemon


【解决方案1】:

如果失败了怎么办...

$ sudo usermod -aG docker $USER

..您已将用户添加到 docker 组,而 Ubuntu 仍然需要 sudo:

如果您在将用户添加到 docker 组之前最初使用 sudo 运行 Docker CLI 命令,您可能会看到以下错误,这表明您的 ~/.docker/ 目录是由于 sudo 命令而使用不正确的权限创建的。

要解决此问题,请删除 ~/.docker/ 目录(它会自动重新创建,但所有自定义设置都会丢失),或者使用以下命令更改其所有权和权限:

$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R

$ sudo chmod g+rwx "$HOME/.docker" -R

【讨论】:

    【解决方案2】:

    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
    

    运行服务。

    【讨论】:

      【解决方案3】:

      你检查过这个http://docs.docker.com/articles/systemd/吗?这帮助我在 Ubunu 15.04 下启动 docker。

      【讨论】:

      • 链接往往会发生变化或丢失,您能否解释一些内容或在此处引用它?
      • 该链接对我有用,通过此命令“sudo systemctl enable docker”使 docker 服务在启动时启动。
      • 在我全新安装 Ubuntu 之后,这对我有用。然而奇怪的是,在我最初升级到 15.04 后,这些步骤对我不起作用。即使我清除了我的 docker 安装并重新开始.. 很奇怪。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多