錯誤訊息
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
原因
因為 docker 的設計是走 client-server 的架構, 如果少裝了 server 的部分就會出現以上的錯誤訊息
解決方法
因為 docker daemon 需要使用 linux kernel 上的某些功能, 所以若想要在 mac 的 OS X 上使用 docker 必須額外起一台 linux VM 給 docker daemon 用
Step 1. 安裝 virtual box
$brew install virtualbox --cask
Step 2. 安裝 docker machine
$brew install docker-machine --cask
Step 3. 設定
使用 docker-machine 建立 VM 跑容器
$docker-machine create --driver virtualbox default
$docker-machine restart
輸出環境變數
$docker-machine env default
如果執行以上的指令出現錯誤訊息 Error checking TLS connection: ...
可以執行以下指令重新產生憑證
$docker-machine regenerate-certs
最後套用環境變數, 讓 docker 知道要怎麼去跟這台 VM 溝通
$eval $(docker-machine env default)
測試
若做完以上的步驟沒噴錯誤訊息的話, 可以跑個 hello-world 看看 docker daemon 有沒有起來
$docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 0e03bdcc26d7: Pull complete Digest: sha256:95ddb6c31407e84e91a986b004aee40975cb0bda14b5949f6fa Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the
留言
張貼留言