Docker 私有注册表 | TLS 证书问题
Docker private registry | TLS certificate issue
我尝试按照以下方法tutorial 在 AWS Centos 机器上设置我们自己的私有注册表 (v2)。
我已经自己签署了一个 TLS 证书并将其放在 /etc/docker/certs.d/MACHINE_STATIS_IP:5000/
尝试登录注册表(docker 登录 MACHINE_IP:5000)或推送标记存储库(MACHINE_IP:5000/ubuntu:最新)时,出现以下错误:
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
您也可以使用以下命令暂时信任该证书,而无需将其添加到您的系统证书中。
docker --tlscert <the downloaded tls cert> pull <whatever you want to pull>
我尝试按照以下方法tutorial 在 AWS Centos 机器上设置我们自己的私有注册表 (v2)。
我已经自己签署了一个 TLS 证书并将其放在 /etc/docker/certs.d/MACHINE_STATIS_IP:5000/
尝试登录注册表(docker 登录 MACHINE_IP:5000)或推送标记存储库(MACHINE_IP:5000/ubuntu:最新)时,出现以下错误:
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
您也可以使用以下命令暂时信任该证书,而无需将其添加到您的系统证书中。
docker --tlscert <the downloaded tls cert> pull <whatever you want to pull>