我是 docker 新手,正在尝试为 docker swarm 设置我的注册表。
我有三个相互交互的 Debian 安装:
- 注册表
- 网站
- 数据库
尝试将我的数据库与我的网站和我的注册表分开设置。
我registry machine
还托管了一个网站,假设该网站vmreg.com
由 SSL 证书管理letsencrypt
。我使用此证书对我的网站和注册表进行签名。
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) 我不明白为什么我需要将证书从注册服务器复制到客户端;这对我来说毫无意义,因为当我更新证书时会发生什么