我是 docker 新手,正在尝试为 docker swarm 设置我的注册表。
我有三个相互交互的 debian 安装:
尝试将我的数据库与我的网站和注册表分开设置。
我的
registry machine
还托管一个网站,比如说vmreg.com
由 letsencrypt
管理ssl 证书。我使用此证书来签署我的网站和注册表。docker run -d --restart=always --name registry -v
$(密码) /etc/letsencrypt/live/vmreg.com:/etc/letsencrypt/live/vmreg.com -e REGISTRY_HTTP_ADDR=0.0.0.0:5000 -e REGISTRY_HTTP_TLS_CERTIFICATE=/etc/letsencrypt/live/vmreg.com/domain.crt -e REGISTRY_HTTP_TLS_KEY=/etc/letsencrypt/live/vmreg.com/domain.key -p 5000:5000 registry:2
在我的数据库机器上,我可以很好地登录:echo "password" | docker login -u username --password-stdin vmreg.com:5000
但在我的website machine
我得到 x509: certificate signed by unknown authority
当我尝试登录时唯一不同的是我的
website machine
也有自己的letsencrypt
域设置。我不明白为什么我会收到这个错误。有可能发生冲突吗?我在网上找到的解决方案都在谈论复制证书,但是 1) 我没有在我的
database machine
上复制任何证书2)我不明白为什么我需要将证书从注册表服务器复制到客户端;这对我来说毫无意义,因为当我更新我的证书时会发生什么
最佳答案
but on my website machine I get x509: certificate signed by unknown authority when I try to login
在建立一个新的 Docker 注册表时(通常是基于 Verify repository client with certificates 的注册表),我总是必须遵循“Nexus3”。
这意味着:
/etc/docker/certs.d$ mkdir vmreg.com
/etc/docker/certs.d$ cp /etc/letsencrypt/live/vmreg.com/domain.crt vmreg.com/
关于docker login 自托管注册表 = x509 : certificate signed by unknown authority,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72590539/