首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gitlab CI -注册表和nginx

Gitlab CI -注册表和nginx
EN

Stack Overflow用户
提问于 2020-12-16 10:08:16
回答 1查看 968关注 0票数 2

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

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

问题(一些非常基本的)

  • 是否Gitlab注册中心使用停靠守护进程?

  • 是如何实现连接的?

Docker client -> NGINX (5050) -> Gitlab注册中心(5000)

  • I在gitlab.rb文件

中有下面的配置

代码语言:javascript
复制
registry['enable'] = true
registry['registry_http_addr'] = "127.0.0.1:5000"
registry['log_directory'] = "/var/log/gitlab/registry"
registry['env'] = {
  'SSL_CERT_DIR' => "/etc/gitlab/ssl"
}

# Below you can find settings that are exclusive to "Registry NGINX"
registry_nginx['enable'] = true
registry_nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.local.crt"
registry_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.local.key"

registry_nginx['proxy_set_headers'] = {
 "Host" => "$http_host",
 "X-Real-IP" => "$remote_addr",
 "X-Forwarded-For" => "$proxy_add_x_forwarded_for",
 "X-Forwarded-Proto" => "https",
 "X-Forwarded-Ssl" => "on"
}

# When the registry is automatically enabled using the same domain as `external_url`,
# it listens on this port
registry_nginx['listen_port'] = 5050
registry_nginx['listen_addresses'] = ['*', '[::]']

当我尝试停靠登录时,会观察到以下错误。是否期望基于上述配置?

代码语言:javascript
复制
   - 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

  • I有gitlab k8s & docker运行程序,他们能从容器内访问gitlab注册中心(nginx)端口5050吗?

代码语言:javascript
复制
    [[runners]]
      name = "docker"
      token = "xxxxxxx"
      executor = "docker"
      [runners.docker]
        image = "docker:stable"
        privileged = true
        volumes = ["/cache", "/var/run/docker.sock:/var/run/docker.sock"]

注意:我尝试了各种关于gitlab注册中心证书问题的gitlab论坛/帖子来构建/推送图像,但没有成功。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-12-16 14:46:27

尝试通过以下方式将证书放置在码头:

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65321142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档