我尝试遵循以下 tutorial在 AWS Centos 机器上设置我们自己的私有(private)注册表 (v2)。
我已经自己签署了一个 TLS 证书并将其放在/etc/docker/certs.d/MACHINE_STATIS_IP:5000/
当尝试登录注册表 (docker login MACHINE_IP:5000) 或推送标记存储库 (MACHINE_IP:5000/ubuntu:latest) 时,出现以下错误:
Error response from daemon: Get https://MACHINE_IP:5000/v1/users/: x509: cannot validate certificate for MACHINE_IP because it doesn't contain any IP SANs
试图搜索答案 2 天,但我找不到任何答案。 我已将证书 CN(通用名称)设置为 MACHINE_STATIC_IP:5000
最佳答案
当使用自签名 TLS 证书时,docker 守护进程要求您将证书添加到它的已知证书中。
使用keytool命令获取证书:
keytool -printcert -sslserver ${NEXUS_DOMAIN}:${SSL_PORT} -rfc > ${NEXUS_DOMAIN}.crt
并将其复制到您客户端的计算机 SSL 证书目录(在我的例子中是 ubuntu):
sudo cp ${NEXUS_DOMAIN}.crt/usr/local/share/ca-certificates/${NEXUS_DOMAIN}.crt && sudo update-ca-certificates
现在重新加载 docker 守护进程,你就可以开始了:
sudo systemctl restart docker
关于ssl - Docker 私有(private)注册表 | TLS 证书问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38328168/