Docker Gitlab CI-注册表和nginx

Docker Gitlab CI-注册表和nginx,docker,nginx,ssl,gitlab,gitlab-ci,Docker,Nginx,Ssl,Gitlab,Gitlab Ci,我正在尝试使用自己的注册表设置自托管gitlab CI。我还为TLS使用自签名证书,使用我自己的CA对该证书进行签名,该CA作为可信CA安装在我的主机上 Gitlab CE 13.6.3版本安装在Ubuntu 18.04上。已在同一主机上安装snap microk8s群集 问题(一些非常基本的问题) Gitlab注册表是否使用docker守护进程 如何实现连通性 Docker客户端-->NGINX(5050)-->Gitlab注册表(5000) 我在gitlab.rb文件中有以下配置

我正在尝试使用自己的注册表设置自托管gitlab CI。我还为TLS使用自签名证书,使用我自己的CA对该证书进行签名,该CA作为可信CA安装在我的主机上

Gitlab CE 13.6.3版本安装在Ubuntu 18.04上。已在同一主机上安装snap microk8s群集

问题(一些非常基本的问题)

  • Gitlab注册表是否使用docker守护进程

  • 如何实现连通性

    Docker客户端-->NGINX(5050)-->Gitlab注册表(5000)

  • 我在gitlab.rb文件中有以下配置

当我尝试docker登录时,观察到以下错误。是否基于上述配置预期

   - with URL: https://127.0.0.1:5000 - > Login Success
   - with URL: https://127.0.0.1:5050 - > Login Success 
   - with URL: https://gitlab.local:5050 - > x509 certificate signed by unknown authority
  • 我有gitlab k8s和docker Runner,他们可以从容器中访问gitlab注册表(nginx)端口5050吗
注意:我尝试了各种gitlab论坛/关于gitlab注册表上的证书问题的帖子来构建/推送图像,但没有成功


谢谢

请尝试通过以下方式将证书放入docker:

sudo mkdir -p /etc/docker/certs.d/gitlab.local:5050
cp /yourcerts/gitlab.local.crt /etc/docker/certs.d/gitlab.local:5050/ca.crt
sudo service docker reload

尝试通过以下方式将证书放入docker:

sudo mkdir -p /etc/docker/certs.d/gitlab.local:5050
cp /yourcerts/gitlab.local.crt /etc/docker/certs.d/gitlab.local:5050/ca.crt
sudo service docker reload

感谢您的反馈,是的-我确实尝试过,ca证书在该目录中。我使用的是带有自签名证书的注册表,但在单独的容器中,gitlab runner和gitlab,三者都在同一主机上。我遇到了这个问题,解决了这个问题,并通过在/etc/gitlab/ssl中添加证书和密钥以及在/etc/gitlab/trusted certs/中添加注册表证书来将证书添加到gitlab容器中。请尝试这个方法。感谢您的帮助,因为在gitlab论坛/docker论坛中发布的内容并没有吸引那么多人的声音:)。我在/etc/gitlab/ssl/,/etc/gitlab/ssl/gitlab.local:5050/,/etc/gitlab/trusted certs/内复制了ca.crt。您是否可以共享用于交叉检查的gitlab.rb和config.toml?因为我使用的是外部注册表,而不是gitlab提供的注册表,所以我在gitlab.rb中没有做太多更改。仅编辑了这两个选项注册表\u外部\u url“”&gitlab\u rails['registry\u api\u url']=“”。并按上述方式修改配置&否则默认情况下由gitlab提供注释。您是否使用公共外部注册表或其他自托管注册表-microk8s,docker?感谢您的反馈,是的-我尝试过,ca证书位于该目录中我使用的注册表具有自签名证书,但位于单独的容器中,gitlab runner和gitlab都在同一台主机上。我遇到了这个问题,解决了这个问题,并通过在/etc/gitlab/ssl中添加证书和密钥以及在/etc/gitlab/trusted certs/中添加注册表证书来将证书添加到gitlab容器中。请尝试这个方法。感谢您的帮助,因为在gitlab论坛/docker论坛中发布的内容并没有吸引那么多人的声音:)。我在/etc/gitlab/ssl/,/etc/gitlab/ssl/gitlab.local:5050/,/etc/gitlab/trusted certs/内复制了ca.crt。您是否可以共享用于交叉检查的gitlab.rb和config.toml?因为我使用的是外部注册表,而不是gitlab提供的注册表,所以我在gitlab.rb中没有做太多更改。仅编辑了这两个选项注册表\u外部\u url“”&gitlab\u rails['registry\u api\u url']=“”。并按上述方式修改配置&否则默认由gitlab提供注释。您使用的是公共外部注册表还是其他自托管注册表-microk8s,docker?
sudo mkdir -p /etc/docker/certs.d/gitlab.local:5050
cp /yourcerts/gitlab.local.crt /etc/docker/certs.d/gitlab.local:5050/ca.crt
sudo service docker reload