GItLab的dockercompose
进入控制台查看密码 cat /etc/gitlab/initial_root_password
version: '3.8'
# 自定义网络:确保 GitLab 和 Runner 互通
networks:
gitlab-network:
driver: bridge
# 数据卷:持久化 GitLab 数据和 Runner 配置
volumes:
gitlab-config:
gitlab-logs:
gitlab-data:
gitlab-runner-config:
services:
# GitLab CE 服务(CI/CD 服务端)
gitlab:
image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gitlab/gitlab-ce:latest
container_name: gitlab
restart: always
networks:
- gitlab-network
ports:
- "8009:80" # HTTP 访问端口
- "2222:22" # SSH 端口(Git 代码操作)
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://公网ip地址' # 替换为你的服务器 IP/域名(Runner 需访问此地址)
nginx['listen_https'] = false # 仅用 HTTP
gitlab_rails['time_zone'] = 'Asia/Shanghai'
# 可选:调整 CI/CD 并发数(按需设置)
gitlab_ci['max_builds'] = 10
volumes:
- gitlab-config:/etc/gitlab
- gitlab-logs:/var/log/gitlab
- gitlab-data:/var/opt/gitlab
deploy:
resources:
limits:
cpus: '8'
memory: 16G
# GitLab Runner 服务(CI/CD 执行器)
gitlab-runner:
image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/gitlab/gitlab-runner:v18.5.0
container_name: gitlab-runner
restart: always
networks:
- gitlab-network
depends_on:
- gitlab # 确保 GitLab 先启动
volumes:
- gitlab-runner-config:/etc/gitlab-runner # 持久化 Runner 配置
- /var/run/docker.sock:/var/run/docker.sock # 让 Runner 能调用宿主机 Docker(用于 Docker 执行器)
environment:
# Runner 注册配置(需替换为 GitLab 生成的令牌)
- REGISTER_NON_INTERACTIVE=true # 非交互式注册
- REGISTER_URL=http://gitlab/ # GitLab 内部访问地址(同网络下用容器名)
- REGISTER_TOKEN=YOUR_GITLAB_REGISTRATION_TOKEN # 替换为 GitLab 生成的 Runner 令牌
- RUNNER_NAME=docker-runner # Runner 名称(自定义)
- RUNNER_EXECUTOR=docker # 使用 Docker 执行器(CI/CD 常用)
- DOCKER_IMAGE=alpine:latest # 默认构建镜像
- RUNNER_TAG_LIST=docker,ci-cd # Runner 标签(匹配 .gitlab-ci.yml 中的标签)
GItLab的dockercompose
/archives/014-gitlabde-dockercompose