2016-12-02 23 views
0

我有一個網站,我正在運行一個數字海洋液滴,我想通過碼頭和一個TeamCity構建服務器,我已經在我的家庭服務器上運行不斷部署。我想在我的docker repo上啓用https,使用自簽名證書,並且沒有域名。使用https配置碼頭回購沒有域名

假設我家的ip地址是10.10.10.10,docker repo在端口5000上運行。

我按照步驟here,但是我的網站上的docker抱怨說它無法連接到我的homeserver上的docker repo,因爲它沒有在SAN擴展中指定IP。

好的。所以我沒有創建SAN中的CN字段,只一個IP一個新的證書,現在在我的網站我的證書的配置看起來像......

/etc/docker/certs.d/10.10.10.10:5000/ca.crt 

我還添加了證書到我的一般證書(Ubuntu的16.04 BTW)

然後我嘗試從我的家庭服務器拉圖像到我的網站...

docker pull 10.10.10.10:5000/personal_site:latest 

不過,我得到這個錯誤。

Error response from daemon: Get https://10.10.10.10:5000/v1/_ping: x509: 
certificate signed by unknown authority (possibly because of "x509: 
invalid signature: parent certificate cannot sign this kind of 
certificate" while trying to verify candidate authority certificate "serial:xxx") 

我想加入我的證書到/etc/docker/...它將接受一個自簽名的證書。任何人有任何建議嗎?

回答

0

您無法爲此使用自簽名證書,它需要是CA證書。按照same steps required to create a certificate for a docker host並將您的CA存儲在/etc/docker/certs.d/...中。或者,您也可以將10.10.10.10定義爲不安全的註冊表,作爲docker守護進程啓動的一部分(dockerd --insecure-registry 10.10.10.10:5000 ...),並且docker應忽略任何證書問題。