Mac OS X sudo docker无法连接到Docker守护程序。 docker守护程序是否在此主机上运行?

时间:2016-03-24 04:29:11

标签: macos docker

我安装了docker,似乎有些问题。

$ docker ps
  

集装箱ID图像命令创建状态端口名称

$sudo docker ps
  

无法连接到Docker守护程序。 docker守护程序是否在此主机上运行?

我该怎么办?

7 个答案:

答案 0 :(得分:27)

您需要设置shell以使用Docker: eval $(docker-machine env default) 这个命令来自哪里?运行docker-machine env default,您会看到以下内容:

$ docker-machine env default
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/eric/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell: 
# eval $(docker-machine env default)

您也可以通过以下方式预先启动Docker主机: docker-machine start default

答案 1 :(得分:1)

docker-machine是OSX的遗留内容,可与VirtualBox一起使用。你应该做的就是完全摆脱它,然后你应该下载最新版本的docker,这个叫做 Docker for Mac

在安装 Docker for Mac 之前,请确保从Mac中删除旧版泊坞机和泊坞机。如果不这样做,安装后将保留旧的docker二进制文件,并且仍然会收到错误消息,指出无法连接到Docker守护程序。

答案 2 :(得分:1)

我遇到了同样的问题,我在以下步骤中解决了这个问题:

docker-machine restart

退出终端(或iTerm2等)并重新启动

eval $(docker-machine env default)

答案 3 :(得分:0)

如果您使用的是docker工具箱,请在运行docker ps命令之前键入此设置环境

docker-machine env default

答案 4 :(得分:0)

让它在新终端上持续存在reboot将它放到bash_profile文件

echo "eval \$(docker-machine env default)" >> ~/.bash_profile

答案 5 :(得分:0)

我只是有这个问题。我使用的是旧的docker-machine,然后切换到适用于mac的最新docker。运行eval $(docker-machine env default) 会设置一些环境变量。

要解决我的问题,请取消设置那些环境变量...

unset DOCKER_HOST DOCKER_MACHINE_NAME DOCKER_TLS_VERIFY DOCKER_CERT_PATH

答案 6 :(得分:0)

从你的环境中删除 export DOCKER_HOST....(.bashrc、.bash_profile 你有什么),重新启动 shell/终端,对我有用。