相关疑难解决方法(0)

在nginx代理后面使用docker private registry(v2)格式错误的HTTP响应

我已根据其官方文档在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)

我的问题是双重的.

  1. 为什么docker客户端正在寻找/ v1_/ping?
  2. 为什么我看到'格式错误的http响应'

如果我运行'curl -v …

ssl nginx proxypass docker

14
推荐指数
1
解决办法
1万
查看次数

docker pull manifest 未知的 blob 错误

我目前正在尝试将 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)

blob nginx manifest nexus docker

6
推荐指数
1
解决办法
7031
查看次数

无法连接到存储在 Azure VM 上的 Nexus 3 Preview 上的 Docker 注册表

基本上,我无法连接到我尝试使用最新的 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 …

registry repository azure nexus docker

3
推荐指数
1
解决办法
4035
查看次数

标签 统计

docker ×3

nexus ×2

nginx ×2

azure ×1

blob ×1

manifest ×1

proxypass ×1

registry ×1

repository ×1

ssl ×1