我創建了NGINX前端的私人碼頭註冊表。 NGINX是ssl終止的地方。碼頭登錄失敗 - > x509:由未知權限簽名的證書..「crypto/rsa:verification error」
我使用my-domain.com來模糊我的域名以達到這個問題的目的。
我使用安裝了boot2docker的OSX 10.10.3。但應該注意的是,Vagrant + CoreOS + Docker的工作流程不應該涉及boot2docker,因爲我在虛擬機(CoreOS)而不是主機(OSX)中存在問題。
我使用Vagrant從這個box啓動本地CoreOS VM。然後我ssh到該虛擬機的實例,並嘗試發出以下命令
$ docker login docker.my-domain.com
我再提示輸入自己的用戶名,密碼,電子郵件的預期;並提供我的細節。
注意:我能夠按預期在主機操作系統(OSX)中發出上述命令,並且能夠成功登錄(生成〜/ .dockercfg文件)。
我得到以下錯誤:
FATA[0008] Error response from daemon: v1 ping attempt failed with error: Get https://docker.my-domain.com/v1/_ping:
x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to
verify candidate authority certificate "*.my-domain.com"). If this private registry supports only HTTP or HTTPS
with an unknown CA certificate, please add `--insecure-registry docker.my-domain.com` to the daemon's
arguments. In the case of HTTPS, if you have access to the registry's CA certificate, no need for the flag;
simply place the CA certificate at /etc/docker/certs.d/docker.my-domain.com/ca.crt
我抄了我的ca.crt從我自己簽字。我可以確認CoreOS能夠通過SSL正確連接到我的服務器。我跑這個命令
openssl s_client -CAfile /etc/docker/certs.d/docker.my-domain.com/ca.crt -connect docker.my-domain.com:443
而且我得到預期'驗證返回碼:0(好)'。這讓我相信它的碼頭似乎有問題。
$ docker version (from within CoreOS VM)
Client version: 1.6.1-rc2
Client API version: 1.18
Go version (client): go1.4.2
Git commit (client): 17f157d-dirty
OS/Arch (client): linux/amd64
Server version: 1.6.1-rc2
Server API version: 1.18
Go version (server): go1.4.2
Git commit (server): 17f157d-dirty
OS/Arch (server): linux/amd64
畢竟,我不確定接下來要做什麼。任何和所有的幫助表示讚賞!