![](/img/trans.png)
[英]Jenkins dial unix /var/run/docker.sock: connect: permission denied MacOS
[英]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尝试:
- 删除系统中提到docker的任何内容。
- 已安装的工具箱1.8.1c。
- 跑Docker快速启动终端(失败)。
- 删除了〜/ .docker
- 安装码头工具使用
检查~/.docker
的权限 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.