我在一个docker解决方案中安装了一个本地Gitlab。然后,我在另一台服务器上安装了一个nginx反向代理。在这个反向代理中,nginx听从443和80端口,Gitlab工作得很好。但是,我无法从6060端口运行Gitlab容器注册表。
gitlab的docker-compose.yml
version: '3.8' services: web: image: 'gitlab/gitlab-ee:latest' container_name: gitlab restart: unless-stopped hostname: 'gitlab.mydomain' networks: default: ipv4_address: 192.168.0.2 environment: GITLAB_OMNIBUS_CONFIG: | external_url 'http://mygitlab.example.com' ports: - '80:80' - '443:443' - '6060:6060' volumes: - '/data/gitlab/config:/etc/gitlab' - '/data/gitlab/logs:/var/log/gitlab' - '/data/gitlab/data:/var/opt/gitlab' - '/data/gitlab/registry:/var/opt/gitlab/gitlab-rails/shared/registry' healthcheck: test: curl -s http://localhost:80 >/dev/null; if [[$$? == 52 ]]; then echo 0; else echo 1; fi interval: 30s timeout: 10s retries: 5 networks: default: external: name: gitlab_network
下面是我对注册表的gitlab.rb文件配置。
registry_external_url 'https://mygitlab.example.com:6060' gitlab_rails['registry_enabled'] = true gitlab_rails['registry_host'] = "mygitlab.example.com" gitlab_rails['registry_port'] = "6060" gitlab_rails['registry_path'] = "/var/opt/gitlab/gitlab-rails/shared/registry"
这是我的nginx反向代理配置文件。
server { listen 6060 ssl; server_name mygitlab.example.com; ssl_certificate /etc/nginx/certs/example_com_2021.crt; ssl_certificate_key /etc/nginx/private/example_com_private_key.key; location / { client_max_body_size 10m; proxy_pass http://2.2.2.2:6060; } }
然后当我重新配置gitlab并重新加载nginx时,我可以看到反向代理监听6060端口并发送gitlab服务器。我可以用tcpdump看到流量,似乎没有问题。 此外,在Gitlab的网页界面上,注册表似乎也在工作。
然而,当我试图从一台客户机上登录时,我得到了以下错误。
Error response from daemon: login attempt to http://mygitlab.example.com:6060/v2/ failed with status: 400 Bad Request
我错过了什么?
原文链接:https://www.qiniu.com/qfans/qnso-66762590
© 版权声明
声明📢本站内容均来自互联网,归原创作者所有,如有侵权必删除。
本站文章皆由CC-4.0协议发布,如无来源则为原创,转载请注明出处。
THE END