gitlab 启用 container registry

4,647 阅读1分钟

在ci的过程中需要container registry,可以是用harbor,但是gitlab有自带,可以开启使用,下面我们看看具体操作

gitlab安装docker-compose.yml

version: '3.5'
services:
  gitlab:
    image: 'gitlab/gitlab-ce:latest'
    container_name: gitlab
    restart: always
    hostname: '192.168.247.191'
    environment:
        GITLAB_OMNIBUS_CONFIG: |
          external_url 'http://192.168.247.191:8929'
          gitlab_rails['gitlab_shell_ssh_port'] = 2224
          gitlab_rails['time_zone'] = 'Asia/Shanghai'
    ports:
        - '8929:8929'
        - '2224:22'
        - '5005:5005'
    volumes:
        - '$GITLAB_HOME/config:/etc/gitlab'
        - '$GITLAB_HOME/logs:/var/log/gitlab'
        - '$GITLAB_HOME/data:/var/opt/gitlab

$GITLAB_HOME 是gitlab宿主机配置存放的位置 特别注意下面的参数配置

environment: 
    GITLAB_OMNIBUS_CONFIG: | 
        external_url 'http://192.168.247.191:8929' 
        gitlab_rails['gitlab_shell_ssh_port'] = 2224 
        gitlab_rails['time_zone'] = 'Asia/Shanghai'

开启http container registry

vim /opt/gitlab/config/gitlab.rb

################################################################################
## Container Registry settings
##! Docs: https://docs.gitlab.com/ee/administration/container_registry.html
################################################################################

 registry_external_url 'http://192.168.247.191:5005'

### Settings used by GitLab application
gitlab_rails['registry_enabled'] = true
gitlab_rails['registry_host'] = "192.168.247.191"
gitlab_rails['registry_port'] = "5005"
gitlab_rails['registry_path'] = "/var/opt/gitlab/gitlab-rails/shared/registry"

image.png

配置访问客户端 daemon.json

vim /etc/docker/daemon.json

{
    "registry-mirrors": ["https://gggg.mirror.aliyuncs.com"],
    "insecure-registries": ["192.168.247.191:5005"]
}

systemctl daeon-reload

systemctl restart docker

可能有类似

Docker repository server gave HTTP response to HTTPS client的错误,说明insecure-registries配置没有生效。 需要停止docker,在启动docker。

参考