在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"
配置访问客户端 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。