单独服务器上的GitLab和Docker注册表

时间:2019-10-10 11:44:16

标签: docker gitlab gitlab-ci lets-encrypt docker-registry

我有点绝望,开始生气。 我尝试将gitlab实例(omnibus)配置为与外部私有docker映像注册表一起使用。最初,我认为这应该是相对容易的任务。但是现在我完全困惑了。

我的初始安装如下:

  • 生成自签名证书
  • 在Ubuntu 18.04上使用docker-compose和nginx的docker注册表的清晰实例。在registry.domain.com上由letsEncrypt保护 我使用以下脚本:
version: '3'

        services:
          registry:
            restart: always
            image: registry:2
            ports:
            - "5000:5000"
            environment:
              REGISTRY_AUTH: token
              REGISTRY_AUTH_TOKEN_REALM: https://registry.domain.com:5000/auth
              REGISTRY_AUTH_TOKEN_SERVICE: "Docker registry"
              REGISTRY_AUTH_TOKEN_ISSUER: "gitlab-issuer"
              REGISTRY_AUTH_TOKEN_ROOTCERTBUNDLE: /etc/gitlab/registry-certs/registry-auth.crt
              REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data
            volumes:
              - ./auth:/auth
              - ./data:/data
  • 在Ubuntu 18.04上的gitlab清晰实例。通过gitlab.domain.com上的letsEncrypt进行保护

  • gitlab.rb中的一些更改,例如:

    registry_external_url ‘https://registry.domain.com/’
    gitlab_rails[‘registry_enabled’] = true
    gitlab_rails[‘registry_host’] = “registry.domain.com”
    gitlab_rails[‘registry_port’] = “5000”

    gitlab_rails[‘registry_api_url’] = “htps://registry.prismstudio.space:5000”
    gitlab_rails[‘registry_key_path’] = “/etc/gitlab/registry-certs/registry-auth.key”
    gitlab_rails[‘registry_issuer’] = “gitlab-issuer”

在gitlab-ctl重新配置后,我收到letsEncrypt错误:

letsencrypt_certificate[gitlab.domain.net] (letsencrypt::http_authorization line 5) had an error: RuntimeError: acme_certificate[staging] (/opt/gitlab/embedded/cookbooks/cache/cookbooks/letsencrypt/resources/certificate.rb line 25) had an error: RuntimeError: ruby_block[create certificate for gitlab.domain.net] (/opt/gitlab/embedded/cookbooks/cache/cookbooks/acme/resources/certificate.rb line 108) had an error: RuntimeError: [gitlab.domain.com] Validation failed, unable to request certificate

我在文学上尝试了一切,但没有任何帮助。

是否有任何简单的方法可以使用外部Docker注册表设置GitLab服务器?如何正确配置?我愿意将所有东西烧毁在地面上,并通过工作配置再次使其实现。

0 个答案:

没有答案