ssl - Docker 私有(private)注册表 | TLS 证书问题

标签 ssl docker registry private x509certificate

我尝试遵循以下 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/

相关文章:

docker-proxy 接受 Accept4 : bad file descriptor

docker - 在docker-compose期间,Kibana数据已丢失

python - 使用 VSCode 使用 docker 卷调试 Docker 容器内的 Django 后端

安卓应用注册表

java - 如何将证书从 PEM 转换为 JKS?

android - 下载内容时管理网络更改

java - 为 Tomcat 7 配置 SSL 导致 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误

php - Laravel @ SSL 注册或登录后,用户重定向到站点

windows-7 - Windows 7 提升的注册表访问

Python 3 winreg : unable to write to the Windows registry