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

Macos Docker错误拨号unix/var/run/Docker.sock:没有这样的文件或目录,macos,ubuntu,docker,boot2docker,Macos,Ubuntu,Docker,Boot2docker,我曾经安装过boot2docker,但最近安装了Mac的Docker工具箱应用程序(运行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 wi

我曾经安装过
boot2docker
,但最近安装了Mac的Docker工具箱应用程序(运行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,所以我假设现在需要工具箱。我启动了应用程序
Docker quick start terminal
,它只在他们的终端内部工作。但是,我想在我自己的终端中使用docker等


为什么会出现这个错误?如何修复?

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

例如,
eval$(docker机器环境默认值)

原始答复:

在OSX上,Docker引擎在虚拟机(最常见的是Virtualbox)中运行。要启用与此Docker引擎的通信,Docker quick start终端将设置两个环境变量,告知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
、或等效终端配置文件的底部,然后重新启动或查找(
源代码~/.bashrc
)配置文件


这将导致docker二进制文件在默认情况下使用boot2docker virtualbox docker引擎,即使您没有通过docker工具箱工具(Kitematic等)打开终端。

它可能取决于您使用的shell(例如,)

尝试:

  • 删除系统中提到docker的任何内容
  • 已安装工具箱1.8.1c
  • 运行Docker快速启动终端(失败)
  • 删除~/.docker
  • 已安装的docker使用

  • 检查。

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

    首先确保docker主机与
    docker machine ls
    一起运行。然后将激活的机器设置为

    eval $(docker-machine env default)
    
    其中,default是ls输出中的机器名称


    我创建了一个快速脏助手,如果您愿意,可以使用它在提示中显示当前活动的计算机:

    quick note,您不需要使用docker快速启动终端。使用docker machine您自己的终端工作正常。这些环境变量的值可以在docker主机VM启动之间更改,或者如果您想更改您控制的主机,则可以更改。您要做的是使用
    docker machine env
    来设置这些值。对于虚拟机来说,这些值很容易更改,这一点很好。但是,运行docker machine env仅在docker引擎主机首先使用docker machine设置时有效,除非使用none驱动程序手动将docker引擎主机添加到docker machine。kitematic/docker toolbox是否在后台使用docker machine来配置virtualbox docker主机?我没有使用kitematic,但假设是这样的,因为docker人员似乎正在将机器用作自动创建主机的首选机制。