GitLab CE 15.7 /带有自签名证书的 Docker 注册表..不工作

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

我想使用 GitLab Docker 注册表。我正在使用 GitLab CE 15.7

我创建了自己的 CA 并签署了证书。 GitLab UI 和 GitLab 运行器工作正常!

谈到 Docker 注册表时,我遇到了一些问题。我这样配置

gitlab.rb

 registry_external_url 'https://198.18.133.100:5000'
 registry['enable'] = true
 registry['username'] = "registry"
 registry['group'] = "registry"
 registry['registry_http_addr'] = "127.0.0.1:5000"
 registry['debug_addr'] = "localhost:5001"
 registry['env'] = {
   'SSL_CERT_DIR' => "/etc/gitlab/ssl/"
 }
 registry['rootcertbundle'] = "/etc/gitlab/ssl/198.18.133.100.crt"

同样令我困惑的是registry 和registry_nginx 的选项。

我不确定我是否正确配置了它,并且文档对我没有太大帮助。我没有为注册表或任何东西启动任何 docker 容器。我相信这是 GitLab 的二进制文件(如果我没记错的话)。端口 5000 可用,我可以远程登录。

但是,在将映像推送到注册表时,我收到以下错误:

WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get "https://198.18.133.100:5000/v2/": x509: certificate signed by unknown authority
Cleaning up project directory and file based variables
00:00
ERROR: Job failed: exit status 1

有什么想法吗?

我已经尝试了很多不同的配置并重新配置了 GitLab 服务器。

gitlab
1个回答
0
投票

已通过在以下路径复制 ca 来修复此问题:

mkdir -p /etc/docker/certs.d/<your_registry_host_name>:<your_registry_host_port>

以及 gitlab.rb 中的正确配置

registry_nginx['enable'] = true
registry_nginx['listen_https'] = true
registry_nginx['redirect_http_to_https'] = true
registry_external_url 'https://registry.YOUR_DOMAIN.gtld'

感谢大家的帮助!

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