繁体   English   中英

Docker错误拨号unix /var/run/docker.sock:没有这样的文件或目录

[英]Docker error dial unix /var/run/docker.sock: no such file or directory

我用来安装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。

为什么我会收到此错误? 怎么修?

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

首先确保你有一个使用docker-machine ls运行的docker主机。 然后设置一个活动的机器

eval $(docker-machine env default)

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

我创建了一个快速而又脏的帮助程序,如果您愿意,可以在提示符中显示当前活动的计算机: https//gist.github.com/aburnett/1165239cd2673a43579c

编辑:你可能想要使用Adam B的答案,因为docker-machine是现在处理“远程”docker引擎的标准方法。 感谢你指出Adam B.

例如eval $(docker-machine env default)

原始答案:

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

$ 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 Toolbox工具(Kitematic等)打开终端,这也会导致docker二进制文件默认使用boot2docker virtualbox docker引擎。

它可能取决于您使用的shell(例如, 仅在docker工具箱1.8.2a中支持fish shell

问题138尝试:

  1. 删除系统中提到docker的任何内容。
  2. 已安装的工具箱1.8.1c。
  3. 跑Docker快速启动终端(失败)。
  4. 删除了〜/ .docker
  5. 安装码头工具使用

检查~/.docker的权限

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM