我已根据其官方文档在CentOS 7盒上设置了Docker私有注册表(v2):https://docs.docker.com/registry/deploying/
我在Fedora 21盒子上运行docker 1.6.0.
注册表在端口5000上运行,并使用由受信任CA签名的SSL密钥.我将'docker-registry.example.com'的DNS记录设置为服务器的内部IP.运行'docker pull docker-registry.example.com:5000/tag/image',它按预期工作.
我设置了一个nginx服务器,运行nginx版本:nginx/1.8.0,并设置指向nginx服务器的'nginx-proxy.example.com'的dns记录,并设置一个站点.这是配置:
server {
listen 443 ssl;
server_name nginx-proxy.example.com;
add_header Docker-Distribution-Api-Version: registry/2.0 always;
ssl on;
ssl_certificate /etc/ssl/certs/cert.crt;
ssl_certificate_key /etc/ssl/certs/key.key;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Original-URI $request_uri;
proxy_set_header Docker-Distribution-Api-Version registry/2.0;
location / {
proxy_pass http://docker-registry.example.com:5000;
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试运行'docker pull nginx-proxy.example.com/tag/image'时,我收到以下错误:
FATA[0001] Error response from daemon: v1 ping attempt failed with error: Get https://nginx-proxy.example.com/v1/_ping: malformed HTTP response "\x15\x03\x01\x00\x02\x02"
Run Code Online (Sandbox Code Playgroud)
我的问题是双重的.
如果我运行'curl -v …
我目前正在尝试将 nexus 设置为 docker 镜像的私有注册表,并且能够登录、推送、拉取、搜索 nexus 存储库。
目前,如果在 nexus 托管存储库中不可用,我们只能从 docker 中提取图像。我们正面临从blob unknown到 的错误manifest unknown。
[root@server1446 ~]$ docker pull server908.int.org.com:6666/centos
Using default tag: latest
Trying to pull repository server908.int.org.com:6666/centos ...
manifest unknown: manifest unknown
Run Code Online (Sandbox Code Playgroud)
尝试了以下参考 [Setup-Docker-Private-Registry-in-Nexus-Repository-OSS-3.0.0][1]
[1]:https : //github.com/TerrenceMiao/nexus/wiki/Setup-Docker-Private-Registry-in-Nexus-Repository-OSS-3.0.0设置docker(proxy)和docker(hosted)使用 docker(group) 进行回购,但会引发blob unknown to registry错误。
docker(hosted) 配置了 http 端口 4444 & docker(group) 和 http 端口 5555,我们在 nginx 配置中使用了相同的配置,如下所示,但似乎都没有工作。
server {
listen 6666;
server_name server908.int.org.com;
keepalive_timeout 60;
ssl on;
ssl_certificate /etc/ssl/certs/orgnexus.crt;
ssl_certificate_key /etc/ssl/certs/orgnexus.key;
ssl_ciphers …Run Code Online (Sandbox Code Playgroud) 基本上,我无法连接到我尝试使用最新的 Nexus 预览版制作的 docker 注册表。首先,我在运行 Ubuntu 14.04 trusty 的 MS Azure 云服务器上安装了 Sonotype Nexus 3 Preview。让我们称这个位置
my-azure-site.cloudapp.net:8443/nexus进入 Nexus UI。我从头到尾都在使用本指南 - https://books.sonatype.com/nexus-book/3.0/reference/index.html
所以我知道连接到远程 Docker 存储库的唯一方法是通过 SSL,所以我在 nexus 中启用了 HTTPS,如使用 8443 端口所示。然后,我创建了一个名为 docker-hub 的 Docker 代理存储库,以便能够从 Docker Central Hub 中提取图像,如本指南第 8.3 节所述。Nexus 显示 repo 的 URL 为
https://my-azure-site.cloudapp.net:8443/nexus/repository/docker-hub/
然后我创建了一个名为 docker-mySoftware 的私有托管存储库,其 HTTPS docker 连接器端口为18444,如指南第 8.4 节所述,Nexus 将 URL 显示为
https://my-azure-site.cloudapp.net:8443/nexus/repository/docker-mySoftware/
然后我创建了一个名为 docker-all 的组 repo,其中包含上述 2 和 HTTPS docker 连接器端口18443,如指南第 8.5 节所述,Nexus 将 URL 显示为
https://my-azure-site.cloudapp.net:8443/nexus/repository/docker-all/
起初,当我尝试按照第 8.7 …