2016-03-16 58 views
2

我想發佈一個docker鏡像到私有存儲庫,但我無法弄清楚我在哪裏放置SSL證書在Windows機器上。Docker SSL證書的窗口

根據此頁面https://docs.docker.com/engine/security/certificates/該證書應該放在/etc/docker/certs.d/HOSTNAME目錄中。這顯然不是Windows路徑。但是,當我運行碼頭終端,我鍵入cd/etc它確實帶我到工作目錄。我發現它會去C:\ Program Files \ Git \ etc,所以我創建了docker \ certs.d \ docker-registry.lan(docker-registry.lan是我們的內部註冊表)目錄在那條路上。然後我用docker-machine stop,docker-machine start命令重新啓動docker機器。

然而,當我試着推我收到一個錯誤,指出X509:未知權威

此鍵工作正常,其他人通過Linux服務器這個,所以我知道,關鍵是精細簽名的證書。我相信問題在於我沒有將密鑰存儲在正確的位置。

我已經嘗試了一堆不同的關鍵鍵,但似乎沒有工作。這一定是我錯過的一個簡單的解決方法。能解決這個問題的人能幫助我嗎?

感謝

+0

該路徑指代名爲'default'的Docker計算機上的路徑,它實際上是一個VirtualBox虛擬機。您可以使用'docker-machine scp local_certs_path default:/ etc/docker/certs.d/HOSTNAME'將證書複製到該機器。 –

+0

@warmoverflow謝謝,這很有道理。但是,當我嘗試'$ docker-machine scp /c/ca.crt默認:/ etc/docker/certs.d/docker-registry.lan'時出現以下錯誤 '加載主機時出錯:加載主機時出錯:不存在:「C」 – ryanmc

+0

不幸的是,我目前無法測試。你可以試試'// c/ca.crt'嗎? –

回答

0

@warmoverflow

嗨,如您的回覆Docker可以自動註冊證書。

但根據來自boot2docker的「README.md」,您可以使用不是.crt而是.pem文件。

(以.pem的格式)到/var/lib/boot2docker/certs/目錄中,Boot2Docker會在啓動時從持久分區自動加載它。

只是將.crt文件重命名爲.pem文件。

https://github.com/boot2docker/boot2docker/pull/807