【问题标题】:Docker error dial unix /var/run/docker.sock: no such file or directoryDocker error dial unix /var/run/docker.sock: no such file or directory
【发布时间】:2015-10-16 11:14:38
【问题描述】:

我曾经安装过boot2docker,但最近安装了适用于 Mac 的 Docker ToolBox 应用程序(运行 10.11)。当我打开 iTerm 并输入 docker ps 时,我收到以下消息。

Get http:///var/run/docker.sock/v1.20/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?
* Is your docker daemon up and running?

我以前使用 boot2docker,所以我认为现在需要 ToolBox。我启动了应用程序Docker quick start terminal,它只能在他们的终端内运行。但是,我想在自己的终端等中使用 docker。

为什么会出现此错误?如何解决?

【问题讨论】:

    标签: macos ubuntu docker boot2docker


    【解决方案1】:

    docker 工具箱现在使用 docker-machine 创建 docker 主机。您看到的错误可能是因为您没有设置活动机器。

    首先确保您有一个使用docker-machine ls 运行的docker 主机。然后用

    设置一个活动机器
    eval $(docker-machine env default)
    

    其中 default 是 ls 输出中的机器名称。

    我创建了一个快速而肮脏的助手,如果你愿意,你可以使用它在你的提示中显示你当前活动的机器:https://gist.github.com/aburnett/1165239cd2673a43579c

    【讨论】:

      【解决方案2】:

      编辑:您可能希望使用 Adam B 的答案,因为 docker-machine 是现在处理“远程”docker 引擎的标准方式。感谢亚当 B 指出这一点。

      例如eval $(docker-machine env default)

      原答案:

      在 OS X 上,Docker 引擎在虚拟机(最常见的是 Virtualbox)中运行。为了启用与此 Docker 引擎的通信,Docker 快速启动终端设置了几个环境变量,告诉 OS X 安装上的 docker 二进制文件使用 Virtualbox 托管的 Docker 引擎。

      $ export DOCKER_TLS_VERIFY="1"
      $ export DOCKER_HOST="tcp://ip.of.virtual.machine:2376"
      $ export DOCKER_CERT_PATH="/path/to/certificates/"
      

      我现在不在我的 Mac 上,不记得使用的确切值。从 Kitematic gui 打开 Docker CLI 工具时,将设置相同的环境变量集。

      如果您能找到正在使用的命令和值,您可以将这三个命令添加到您的 .bashrc.zshrc 或等效终端配置文件的底部,然后重新启动或获取 (source ~/.bashrc) 配置文件.

      这将导致 docker 二进制文件默认使用 boot2docker virtualbox docker 引擎,即使您不通过 Docker Toolbox 工具(Kitematic 等)打开终端也是如此。

      【讨论】:

      • 这些环境变量的值可以在您的 docker 主机 VM 启动之间或如果您想更改您正在控制的主机时发生变化。您要做的是使用docker-machine env 设置这些。
      • 这些值易受虚拟机更改的影响。运行 docker-machine env 仅在首先使用 docker-machine 设置 docker 引擎主机时才有效,除非您使用 none 驱动程序手动添加带有 docker-machine 的 docker 引擎主机。 kitematic/docker 工具箱是否在后台使用 docker-machine 来配置 virtualbox docker 主机?
      • 我没有使用过风筝,但假设它确实使用过,因为码头工人似乎正朝着使用机器作为自动创建主机的首选机制发展。
      【解决方案3】:

      它可能取决于您使用的 shell(例如,fish shell would only be supported in docker toolbox 1.8.2a

      Issue 138 试过了:

      1. 删除了系统中提及 docker 的所有内容。
      2. 已安装工具箱 1.8.1c。
      3. 运行 Docker 快速入门终端(失败)。
      4. 已删除 ~/.docker
      5. 使用 docker 安装

      检查also the permission on ~/.docker

      【讨论】:

      • 快速注意,您不需要使用 docker 快速启动终端。使用 docker-machine 你自己的终端就可以了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-11
      • 2018-09-09
      • 2021-06-02
      • 2019-08-07
      • 2012-06-03
      • 2019-07-23
      • 2023-04-03
      相关资源
      最近更新 更多