设置artifactory作为dockerregistry的问题

即时通讯正在尝试在Artifacory(v4.7.4)中设置私人Docker Registry。

我已经build立了一个本地,远程和虚拟的Docker Repository,并将Apache添加为一个反向代理。 为虚拟“docker”回收添加了一个DNS条目。

反向代理正在工作,但如果我尝试这样的事情:

docker pull docker.my.company.com/ubuntu:16.04 

我越来越:

https://docker.my.company.com/v1/_ping:x509 :证书适用于* .company.com,company.com,而不是docker.my.company.com

我的Artifactory URL是:“my.company.com/artifactory”,我希望repositorys可以通过repo.my.company.com/artifactory进行访问。

我也有company.com的通配证书,所以我不明白这里的问题是什么。

或者有没有一种方法访问Artifactory只是没有SSL的http

有任何想法吗?

根据RFC-2818通配符证书只匹配一个级别的域名,但不是更深的:

例如,* .a.com与foo.a.com匹配,但不匹配bar.foo.a.com。 f * .com与foo.com匹配,但不是bar.com。

在这种情况下,你应该做的是使用端口映射仓库,而不是子域名,所以docker仓库将可以在下面访问,例如my.company.com:5001/而不是docker.my.company.com

您可以在用户指南中find有关更改的说明以及如何使用Artifactory Proxy设置生成器进行更改。

如果您现在已准备好与证书名称不匹配,并了解忽略名称不匹配和不安全地访问回购的安全隐患,则可以应用以下解决方法:

  • 编辑/etc/default/docker DOCKER_OPTS="--insecure-registry docker.my.company.com"并添加选项DOCKER_OPTS="--insecure-registry docker.my.company.com"
  • 重新启动docker: [sudo] service docker restart