![](/img/trans.png)
[英]Jenkins dial unix /var/run/docker.sock: connect: permission denied MacOS
[英]Docker error dial unix /var/run/docker.sock: no such file or directory
我用來安裝boot2docker
但是最近為Mac安裝了Docker ToolBox應用程序(運行10.11)。 當我打開iTerm並鍵入docker ps
我收到以下消息。
Get http:///var/run/docker.sock/v1.20/containers/json: dial unix /var/run/docker.sock: no such file or directory.
* Are you trying to connect to a TLS-enabled daemon without TLS?
* Is your docker daemon up and running?
我用來使用boot2docker所以我假設現在需要ToolBox。 我啟動了應用程序Docker quick start terminal
,它只在終端內部工作。 但是,我想在我自己的終端等中使用docker。
為什么我會收到此錯誤? 怎么修?
docker工具箱現在使用docker-machine創建docker主機。 您看到的錯誤可能是因為您沒有設置活動計算機。
首先確保你有一個使用docker-machine ls
運行的docker主機。 然后設置一個活動的機器
eval $(docker-machine env default)
其中default是ls輸出中機器的名稱。
我創建了一個快速而又臟的幫助程序,如果您願意,可以在提示符中顯示當前活動的計算機: https : //gist.github.com/aburnett/1165239cd2673a43579c
編輯:你可能想要使用Adam B的答案,因為docker-machine是現在處理“遠程”docker引擎的標准方法。 感謝你指出Adam B.
例如eval $(docker-machine env default)
原始答案:
在OS X上,Docker Engine在虛擬機(最常見的是Virtualbox)中運行。 為了與此Docker引擎進行通信,Docker快速啟動終端設置了幾個環境變量,告知OS X安裝中的docker二進制文件使用Virtualbox托管的Docker Engine。
$ export DOCKER_TLS_VERIFY="1"
$ export DOCKER_HOST="tcp://ip.of.virtual.machine:2376"
$ export DOCKER_CERT_PATH="/path/to/certificates/"
我現在不在我的Mac上,也不記得使用的確切值。 從Kitematic gui打開Docker CLI工具時,將設置相同的環境變量集。
如果您可以找到正在使用的命令和值,您可以將這三個命令添加到.bashrc
, .zshrc
或等效終端配置文件的底部,然后重新啟動或獲取( source ~/.bashrc
)配置文件。
即使您沒有通過Docker Toolbox工具(Kitematic等)打開終端,這也會導致docker二進制文件默認使用boot2docker virtualbox docker引擎。
它可能取決於您使用的shell(例如, 僅在docker工具箱1.8.2a中支持fish shell )
問題138嘗試:
- 刪除系統中提到docker的任何內容。
- 已安裝的工具箱1.8.1c。
- 跑Docker快速啟動終端(失敗)。
- 刪除了〜/ .docker
- 安裝碼頭工具使用
檢查~/.docker
的權限 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.