[英]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/終端,為我工作。
docker ps
它將按預期工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.