docker 502 中的 nginx

问题描述 投票:0回答:1

我的服务器上的容器中有一个 Docker 注册表。 我的 NginX 也在容器中,静态文件的另一个位置(配置)也可以工作。所以我可以确认 ssl 已正确配置。服务器上的 Curl 到 docker 注册表也可以工作,因此我可以确认我的注册表是否正确托管。 (Linux 报告它监听 http://*:5000)。

据我所知,我做的一切都是正确的,但不知何故仍然不起作用。 这是我收到的 2 条错误消息:

2024/09/21 18:14:50 [error] 19#19: *34 no live upstreams while connecting to upstream, client: IP, server: docker.myDomain.org, request: "GET /v2/ HTTP/1.1", upstream: "http://localhost/v2/", host: "docker.myDomain.org"
2024/09/21 18:15:17 [error] 19#19: *35 connect() failed (111: Connection refused) while connecting to upstream, client: IP, server: docker.myDomain.org, request: "GET /.git/config HTTP/1.1", upstream: "http://127.0.0.1:5000/.git/config", host: "213.165.94.168"

我的配置“docker.conf”看起来像:

server {
    listen 443 ssl;
    server_name docker.myDomain.org;

    ssl_certificate /etc/nginx/ssl/myDomain.org.cer;
    ssl_certificate_key /etc/nginx/ssl/myDomain.org.key;

    location / {
        # Do not allow connections from docker 1.5 and earlier
        # docker pre-1.6.0 did not properly set the user agent on ping, catch "Go *" user agents
        if ($http_user_agent ~ "^(docker\/1\.(3|4|5(?!\.[0-9]-dev))|Go ).*$" ) {
          return 404;
        }
        proxy_pass http://localhost:5000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout                  900;
    }

    access_log /var/log/nginx/docker-access.log;
    error_log /var/log/nginx/docker-error.log;
}

server {
    listen 80;
    server_name docker.myDomain.org;
    return 301 https://$host$request_uri;
}

这可能是什么问题? (我当前的测试使用邮递员和浏览器);我使用的另一个私人注册表适用于我的两种测试方法。

由于对 nginx 的经验有限,并且在查找有关如何调试或解决此类问题的信息时遇到问题,我希望在这里得到帮助。

docker nginx docker-registry
1个回答
0
投票

您正在尝试代理

localhost

在 nginx 容器的上下文中,

localhost
是容器本身。

如果您使用 Docker Compose,则只需使用容器/服务名称即可

http://servicename:5000

如果没有,您需要创建一个网络并将两个容器添加到其中

© www.soinside.com 2019 - 2024. All rights reserved.