簡體   English   中英

Docker錯誤撥號unix /var/run/docker.sock:沒有這樣的文件或目錄

[英]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嘗試:

  1. 刪除系統中提到docker的任何內容。
  2. 已安裝的工具箱1.8.1c。
  3. 跑Docker快速啟動終端(失敗)。
  4. 刪除了〜/ .docker
  5. 安裝碼頭工具使用

檢查~/.docker的權限

暫無
暫無

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

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