簡體   English   中英

嘗試啟動docker時不斷獲取無法讀取CA證書

[英]Keep getting Could not read CA certificate when trying to start docker

我正在嘗試從 boot2docker 遷移到 docker-machine。

我按照此處的說明安裝 docker,但我不斷收到以下消息:

Could not read CA certificate "/Users/<useraccountfolder>/.boot2docker/certs/boot2docker-vm/ca.pem": open /Users/<useraccountfolder>/.boot2docker/certs/boot2docker-vm/ca.pem: no such file or directory

當我運行大多數 docker 命令時。

我在這里找到了我的解決方案

我需要更新我的 .bash_profile 看起來像:

export DOCKER_HOST=tcp://192.168.99.100:2376
export DOCKER_MACHINE_NAME=default
export DOCKER_TLS_VERIFY=1
export DOCKER_CERT_PATH=~/.docker/machine/machines/default

然后運行以下命令來生成缺失的 ca.pem:

docker-machine regenerate-certs default

我發布了這個以防這可以幫助其他人。 感謝/道具去 github 上那個線程中的每個人,這是一個小時的痛苦后發現的。

請遵循本指南: Docker for Mac vs Docker Toolbox

為我工作,您需要取消設置變量而不是為 mac 創建它們。

# grep for DOCKER ENV vars
env | grep DOCKER
unset <DOCKER_VARS>

通常大多數人都安裝了 boot2docker 和舊版本的 virtualbox。 正如安裝指南中所說,在為Mac安裝Docker之前,我們必須卸載boot2docker並重新安裝virtualbox到高版本。 https://docs.docker.com/engine/installation/mac/#/docker-for-mac

即使我們已經為 Mac 安裝了 Docker,我們仍然遇到錯誤“無法讀取 CA 證書”。

我的解決方案是從.bash_profile刪除與 docker 相關的環境變量 (DOCKER*)。 這似乎是一個長期的解決方案。

  1. vim ~/.bash_profile

  2. 評論類似DOCKER_* 的內容

  3. source ~/.bash_profile

  4. 重新啟動終端,運行應該沒有問題: docker infodocker ps

希望能幫助到你。

我遇到了同樣的錯誤,因為我將環境設置為特定的 docker 機器,后來我刪除了該機器,但我的環境仍然設置為已刪除的機器。 因此 docker 調用被重定向到導致錯誤的不存在的機器。

我取消了環境變量的設置,問題得到了解決:

eval $(docker-machine env -u)

要查看將取消設置哪個環境變量,請運行:

docker-machine env -u

如果該文件存在於DOCKER_CERT_PATH變量中,則該錯誤也可能是由於文件權限問題引起的。 請檢查此用例。

我在MacOS上清潔參考遺漏證書的解決方案,這是不是在~/.bash_profile~/.bashrc是:

unset ${!DOCKER*}

來源: https : //forums.docker.com/t/initial-install-of-docker-for-mac-could-not-read-ca-certificate/9170/7

來自 Mac 上啟動板的 Docker 停止工作以及來自終端的命令。 我只想說我為我做了什么來修復它,不管它是否有意義,以防它幫助別人。

  • 我跑了unset ${!DOCKER*}
  • 然后我跑了:

     export DOCKER_HOST=tcp://192.168.99.100:2376 export DOCKER_MACHINE_NAME=default export DOCKER_TLS_VERIFY=1 export DOCKER_CERT_PATH=~/.docker/machine/certs/
  • 然后我跑了: docker (它只是部分工作)

  • 然后我再次運行: unset ${!DOCKER*}
  • 然后我從 Launchpad 啟動了 docker,給了它一分鍾,現在它再次運行,一切都恢復正常。

如果還是不行,運行:

find . -name ca.pem

要找出它在哪里,然后修改DOCKER_CERT_PATH=<the path you find out> ,在 Mac 上,它必須是.bash_profile 如果您在 yo .oh-my-zsh它,它將不起作用。

暫無
暫無

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

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