簡體   English   中英

Mac OS X sudo docker 無法連接到 Docker 守護程序。 docker 守護進程是否在此主機上運行?

[英]Mac OS X sudo docker Cannot connect to the Docker daemon. Is the docker daemon running on this host?

我安裝了docker,似乎有一些問題。

$ docker ps

容器 ID 圖像命令創建狀態端口名稱

$sudo docker ps

無法連接到 Docker 守護程序。 docker 守護進程是否在此主機上運行?

我應該怎么辦?

你需要設置你的 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

docker-machine 是 OSX 的遺留東西,它與 VirtualBox 一起運行。 你應該做的是完全擺脫它,然后你應該下載最新版本的docker,即Docker for Mac

確保在安裝Docker for Mac之前從 Mac 中刪除舊版 docker 和 docker-machine。 如果您不這樣做,安裝后將優先使用舊版 docker 二進制文件,您仍然會收到錯誤消息,即無法連接到 Docker 守護程序。

我遇到了同樣的問題,我通過以下步驟解決了它:

docker-machine restart

退出終端(或 iTerm2 等)並重新啟動

eval $(docker-machine env default)

我剛遇到這個問題。 我使用的是舊的 docker-machine,然后我切換到了最新的 docker for mac。 運行eval $(docker-machine env default)設置一些環境變量。

為了解決我的問題,我取消了那些環境變量......

unset DOCKER_HOST DOCKER_MACHINE_NAME DOCKER_TLS_VERIFY DOCKER_CERT_PATH

如果您使用的是 docker 工具箱,請在運行 docker ps 命令設置環境之前鍵入此內容

docker-machine env default

讓它在新終端上持久化並重新啟動把它放到 bash_profile 文件中

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

從您的環境中刪除export DOCKER_HOST.... (.bashrc,.bash_profile 你有什么),重新啟動 shell/終端,為我工作。

  1. 如果未安裝,請安裝 docker 桌面。 ( https://docs.docker.com/desktop/install/mac-install/ )
  2. 運行泊塢窗桌面。 這將使 docker 在后台運行。
  3. 使用docker ps它將按預期工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM