2015-10-16 149 views
4

我用來安裝boot2docker,但最近安裝了用於Mac(運行10.11)的Docker ToolBox應用程序。當我打開iTerm並鍵入docker ps時,我收到以下消息。Docker錯誤撥號unix /var/run/docker.sock:沒有這樣的文件或目錄

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,它只能在他們的終端內工作。但是,我想在我自己的終端中使用碼頭等。

爲什麼我會收到此錯誤?怎麼修?

回答

0

這可能取決於你使用的shell(例如,fish shell would only be supported in docker toolbox 1.8.2a

Issue 138嘗試:在提到泊塢窗系統

  1. 刪除任何東西。
  2. 安裝工具箱1.8.1c。
  3. 運行Docker快速入門終端(失敗)。
  4. 刪除〜/ .docker
  5. 泊塢窗安裝使用

檢查also the permission on ~/.docker

+0

快速注意,您不需要*使用碼頭快速啓動終端。使用碼頭機你自己的終端工作得很好。 –

+0

@AdamB好點。我已經提出了你的答案。 – VonC

2

編輯:您可能會希望使用Adam B的答案,因爲碼頭機是現在處理「遠程」碼頭引擎的標準方式。感謝您指出這一點亞當B.

E.g. eval $(docker-machine env default)

原來的答覆:

在OS X上的碼頭工人引擎上運行的虛擬機(最常見的VirtualBox的)裏面。爲了與這個Docker引擎進行通信,Docker快速啓動終端設置了一些環境變量,告訴OS X安裝的docker二進制文件使用Virtualbox託管的Docker引擎。

$ 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)配置文件的底部。

這將導致泊塢窗二進制默認使用的boot2docker VirtualBox的泊塢窗引擎,即使你不通過多克爾工具箱的工具打開你的終端(Kitematic等)。

+0

這些環境變量的值VM的泊塢窗主機的啓動之間可以改變,或者如果你想更改您正在控制的主機。你想要做的是使用'docker-machine env'來設置這些。 –

+0

關於這些值可能會對虛擬機發生變化的好處。除非您使用none驅動程序手動將docker-engine主機與docker-machine一起手動添加,否則運行docker-machine env只能在docker-engine主機設置爲docker-machine的情況下起作用。 kitematic/docker工具箱是否在幕後使用docker-machine來配置virtualbox docker主機? – Snorre

+1

我還沒有使用過kitematic,但是假設它會起作用,因爲碼頭工人似乎正在將機器用作自動創建主機的首選機制。 –

6

碼頭工具箱現在使用碼頭機創建碼頭主機。您看到的錯誤可能是因爲您沒有設置活動的機器。

首先確保您有docker-machine ls運行的泊塢窗主機。然後將有效機

eval $(docker-machine env default) 

哪裏默認距離LS輸出機器的名稱。

我創建了一個快速和骯髒的助手,你可以用它來顯示當前正在使用的機器在你的提示,如果你喜歡:https://gist.github.com/aburnett/1165239cd2673a43579c

相關問題