2015-05-30 30 views
9

我認爲命令重定向了$ docker命令到碼頭機器。現在我所有的碼頭命令給我一個錯誤FATA[0000] Couldn't read ca cert...,後面跟着我創建的docker-machine的路徑。我如何修復我的外殼?

回答

2

我一直在尋找一個相當長的答案。在發佈stackoverflow問題後不久,我意識到輸入命令docker在啓動時解決了我的問題。

To connect the Docker client to the Docker daemon, please set: 
export DOCKER_HOST=tcp:// some IP address 
export DOCKER_CERT_PATH= some file path 
export DOCKER_TLS_VERIFY=1 
18

你所尋找的是:

eval "$(docker-machine env -u)" 

將取消設置DOCKER_*變量。

爲了記錄在案,這裏的docker-machine env -u輸出:

unset DOCKER_TLS_VERIFY 
unset DOCKER_HOST 
unset DOCKER_CERT_PATH 
unset DOCKER_MACHINE_NAME 
+1

我收到消息_Host「默認」不存在_。 – alvarez

+0

是的,但是上面的情況並沒有在運行docker-machine之前的條件下保留環境... docker-machine之前的值不會保存以備後用......它只是在沒有將env設置恢復到原始設置的情況下執行docker-machine設置的未設置...我們需要在運行docker-machine之前運行一個save-current-docker-settings,然後將其用於恢復原始碼頭設置 –

1

我可以看到,這是一個老的文章,但如果別人運行到這個問題,誰是新的泊塢窗像我這樣可以提供幫助。通過鍵入:

eval $(docker-machine env nameOfVm) 

您正在設置當前shell以在該docker-machine中使用docker。您可以檢查是否在活動選項卡中鍵入docker-machine ls ,該機器的狀態從- to *更改。您也可以通過運行docker-machine active來檢查哪臺機器處於活動狀態。

如果要撤消EVAL,只需運行:

eval $(docker-machine env -u) 

,這將取消設置爲有效的機牀變量(您不必指定機器的名稱)。這一切都在macOS下,但我認爲它應該與linux一樣。 您可以在這裏閱讀更多關於此: Docker documentation: docker-machine env