2015-10-16 152 views
4

我用来安装boot2docker,但最近安装了用于Mac(运行10.11)的Docker ToolBox应用程序。当我打开iTerm并键入docker ps时,我收到以下消息。Docker错误拨号unix /var/run/docker.sock:没有这样的文件或目录

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,它只能在他们的终端内工作。但是,我想在我自己的终端中使用码头等。

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

回答

0

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

Issue 138尝试:在提到泊坞窗系统

  1. 删除任何东西。
  2. 安装工具箱1.8.1c。
  3. 运行Docker快速入门终端(失败)。
  4. 删除〜/ .docker
  5. 泊坞窗安装使用

检查also the permission on ~/.docker

+0

快速注意,您不需要*使用码头快速启动终端。使用码头机你自己的终端工作得很好。 –

+0

@AdamB好点。我已经提出了你的答案。 – VonC

2

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

E.g. eval $(docker-machine env default)

原来的答复:

在OS X上的码头工人引擎上运行的虚拟机(最常见的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)配置文件的底部。

这将导致泊坞窗二进制默认使用的boot2docker VirtualBox的泊坞窗引擎,即使你不通过多克尔工具箱的工具打开你的终端(Kitematic等)。

+0

这些环境变量的值VM的泊坞窗主机的启动之间可以改变,或者如果你想更改您正在控制的主机。你想要做的是使用'docker-machine env'来设置这些。 –

+0

关于这些值可能会对虚拟机发生变化的好处。除非您使用none驱动程序手动将docker-engine主机与docker-machine一起手动添加,否则运行docker-machine env只能在docker-engine主机设置为docker-machine的情况下起作用。 kitematic/docker工具箱是否在幕后使用docker-machine来配置virtualbox docker主机? – Snorre

+1

我还没有使用过kitematic,但是假设它会起作用,因为码头工人似乎正在将机器用作自动创建主机的首选机制。 –

6

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

首先确保您有docker-machine ls运行的泊坞窗主机。然后将有效机

eval $(docker-machine env default) 

哪里默认距离LS输出机器的名称。

我创建了一个快速和肮脏的助手,你可以用它来显示当前正在使用的机器在你的提示,如果你喜欢:https://gist.github.com/aburnett/1165239cd2673a43579c

相关问题