簡體   English   中英

如何在Windows上忽略Boot2Docker中的證書錯誤

[英]How to ignore certificate errors in Boot2Docker on windows

我通過virtualbox在windows上運行boot2docker 1.4.1。 我支持MITM https證書的代理。 我通過在/var/lib/boot2docker/profile添加以下行來配置代理:

export HTTP_PROXY=<proxyhost>:80
export HTTPS_PROXY=<proxyhost>:80
DOCKER_TLS=no
EXTRA_ARGS="--insecure-registry index.docker.io"

但是當我運行docker@boot2docker:~$ docker run hello-world我得到了

Unable to find image 'hello-world:latest' locally
Pulling repository hello-world
FATA[0006] Get https://index.docker.io/v1/repositories/library/hello-world/images
: x509: certificate signed by unknown authority

請幫我弄清楚忽略證書錯誤的正確方法。 謝謝!

編輯看起來新的docker僅適用於某些版本的Windows 10 如果您仍然停留在Windows 7上,我已經更新了以下內容,以反映我在安裝最新版本的docker-toolbox( Docker 1.11.2)時糾正“證書鏈中的自簽名證書”錯誤所需的步驟)。


最后,在Windows 7上按照以下答案進行操作: https//github.com/boot2docker/boot2docker/issues/347

通過運行openssl s_client -showcerts來檢查這是您的問題:

docker@boot2docker:~$ openssl s_client -showcerts -CApath . -connect index.docker.io:443

(編輯:從-showcerts刪除了32並更正了主機名)

在證書鏈中,您將看到代理已插入自身,並且驗證返回類似這樣的錯誤

Verify return code: 19 (self signed certificate in certificate chain)

如果您遇到同樣的問題,請嘗試以下步驟:

  1. 首先,保存您需要的證書。 以下是在Firefox中使用的步驟,類似於https://stackoverflow.com/a/6966818/1981358(Chrome和IE也應該使用證書導出向導;注意:在Windows上,PEM證書編碼稱為Base-64編碼X.509(.CER)):
    • 在Firefox中,轉到https://hub.docker.com/
    • 單擊地址欄上的鎖定圖標以顯示證書
    • 點擊“更多信息” - >“安全” - >“查看證書” - >“詳細信息”
    • 從最上面的節點開始,選擇層次結構中的每個節點,然后單擊“導出”和“保存”(選擇X.509證書(PEM)格式)
    • 將上述文件保存在本地驅動器中的某個位置,將擴展名更改為.pem並將其移動到用戶文件夾(或從ssh可訪問的任何其他位置)
  2. 創建一個文件夾來保存證書: docker@boot2docker:~$ sudo mkdir /var/lib/boot2docker/certs/
  3. 將證書文件復制到該位置: docker@boot2docker:~$ sudo cp /c/Users/<username>/<folder>/<proxy-cert>.pem /var/lib/boot2docker/certs/
  4. 創建文件/var/lib/boot2docker/bootlocal.sh並包含來自https://gist.github.com/irgeek/afb2e05775fff532f960的源代碼(我剛剛使用Notepad ++在Windows中創建了該文件並將其復制到類似於上一步)
  5. 退出ssh並重新啟動: C:\\>docker-machine restart
  6. 打開shell docker-machine ssh並驗證更改是否有效: docker run hello-world

您應該看到包含以下內容的輸出:

Hello from Docker.
This message shows that your installation appears to be working correctly.

如果你在Windows 10安裝了 Docker for Windows ,並且你得到了“x509:由未知權限簽名的證書”錯誤,你可以試試這個:

  1. 運行Docker for Windows。
  2. 一段時間后,您將在Windows通知區域(右下角)看到泊塢窗圖標 在此輸入圖像描述
  3. 右鍵單擊該圖標,然后選擇“設置...”
  4. 設置窗口將打開。 選擇左側的“Docker Daemon”。
  5. 將您的私有注冊表添加到文本框中的“insecure-registries”集合中,該集合以JSON格式顯示配置。 然后單擊“應用”。 在此輸入圖像描述

暫無
暫無

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

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