1、首先安装虚拟机,具体安装请参考其他文章,安装虚拟机建议4G的内存。
2、 在/opt 目录下 mkdir docker_gitlab 创建文件夹
3、在docker_gitlab 目录下执行vi docker-compose.yml
相关脚本如下:
version: '3.1'
services:
gitlab:
image: 'twang2218/gitlab-ce-zh:11.1.4'
container_name: "gitlab"
restart: always
privileged: true
hostname: 'gitlab'
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://192.168.199.110'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['smtp_enable'] = true
gitlab_rails['gitlab_shell_ssh_port'] = 22
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- /opt/docker_gitlab/config:/etc/gitlab
- /opt/docker_gitlab/data:/var/opt/gitlab
- /opt/docker_gitlab/logs:/var/log/gitlab
4、修改虚拟机ssh链接端口vi /etc/ssh/sshd_config,如图:

执行命令 systemctl restart sshd 重新启动ssh链接.之后遇到了一系列的坑fianlshell链接不上了。之后再网上找到了相关文章才解决的。
言归正传,我们再docker-compose目录里使用:docker-compose up -d 然后就会下载gitlab的镜像
访问你虚拟机的ip地址,默认为80端口,修改密码,然后进行登录,默认管理员账号为root,密码就是你刚刚修改的密码,登录后如图:

2025-12-23 start:
使用docker-compose v2版本安装gitlab:
mkdir -p /opt/docker/gitlab
cd /opt/docker/gitlab
vi docker-compose.yml
services:
gitlab:
image: registry.gitlab.cn/omnibus/gitlab-jh:latest
container_name: gitlab
restart: unless-stopped # 改为 unless-stopped
hostname: '【ip】'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://【ip】:9001'
gitlab_rails['gitlab_shell_ssh_port'] = 9022
nginx['listen_port'] = 80
nginx['listen_https'] = false
# 性能优化配置
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['gitlab_default_projects_limit'] = 100
gitlab_rails['gitlab_default_can_create_group'] = true
# 可选:减少内存使用(根据你的服务器配置)
# puma['worker_processes'] = 2
# sidekiq['max_concurrency'] = 10
# postgresql['shared_buffers'] = "256MB"
# redis['maxmemory'] = "512mb"
# redis['maxmemory_policy'] = "allkeys-lru"
ports:
- "9001:80"
- "9443:443"
- "9022:22"
volumes:
- ./config:/etc/gitlab
- ./logs:/var/log/gitlab
- ./data:/var/opt/gitlab
# 资源限制(防止 GitLab 占用过多内存)
deploy:
resources:
limits:
memory: 4G
cpus: '2.0'
reservations:
memory: 2G
cpus: '1.0'
# 健康检查
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost/-/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 5m # GitLab 启动较慢,给5分钟启动时间
cd /opt/docker/gitlab
# 启动服务
docker compose up -d
# 查看状态
docker compose ps
# 查看日志
docker compose logs -f
# 查看启动日志
docker compose logs -f gitlab
# 或直接查看容器日志
docker logs -f gitlab
# 检查启动状态
docker compose exec gitlab gitlab-ctl status
# 查看docker compose的版本
docker-compose --version
# 停止并删除旧容器
docker compose down
# 重新创建并启动
docker compose up -d
# 查看状态
docker compose ps
# 查看日志
docker compose logs -f
# 等待几分钟后访问
curl -I http://localhost:9001
# 查看初始密码
docker compose exec gitlab cat /etc/gitlab/initial_root_password
使用 Docker Compose V2 命令
常用命令对比
| 旧命令 | 新命令 | 说明 |
|---|---|---|
docker-compose up -d |
docker compose up -d |
启动服务 |
docker-compose down |
docker compose down |
停止服务 |
docker-compose ps |
docker compose ps |
查看状态 |
docker-compose logs |
docker compose logs |
查看日志 |
docker-compose exec |
docker compose exec |
执行命令 |
end