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

问题描述 投票:0回答:9

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

$ docker ps

容器 ID 图像命令创建的状态端口名称

$sudo docker ps

无法连接到 Docker 守护进程。 docker daemon 是否在这台主机上运行?

我该怎么办?

macos docker
9个回答
33
投票

您需要设置您的 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


7
投票

docker-machine 是 OSX 的旧东西,它与 VirtualBox 一起运行。你应该做的是完全摆脱它,然后你应该下载最新版本的 docker,称为 Docker for Mac

确保在安装 Docker for Mac 之前从 Mac 中删除旧版 docker 和 docker-machine。如果你不这样做,旧的 docker 二进制文件将在安装后得到青睐,你仍然会收到错误消息,指出无法连接到 Docker 守护进程。


6
投票

我遇到了同样的问题,我通过以下步骤解决了它:

docker-machine restart

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

eval $(docker-machine env default)

4
投票

我刚遇到这个问题。我正在使用旧的 docker-machine,然后切换到最新的 docker for mac。运行

eval $(docker-machine env default)
设置一些环境变量。

为了解决我的问题,我取消了那些环境变量...

unset DOCKER_HOST DOCKER_MACHINE_NAME DOCKER_TLS_VERIFY DOCKER_CERT_PATH


0
投票

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

docker-machine env default

0
投票

让它在新终端上持久存在并重新启动将它放入 bash_profile 文件

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

0
投票

从你的环境中删除

export DOCKER_HOST....
(.bashrc,.bash_profile你有什么),重新启动shell /终端,为我工作。


0
投票
  1. 如果未安装,请安装 docker desktop。 (https://docs.docker.com/desktop/install/mac-install/)
  2. 运行 docker 桌面。这将使 docker 在后台运行。
  3. 使用
    docker ps
    它将按预期工作。

-2
投票

无法在 MacOSX High Sierra 上安装 Docker Desktop。有什么建议吗?

© www.soinside.com 2019 - 2024. All rights reserved.