docker compose 安装 gitlab
时间: 2025-06-01 14:21:10 浏览: 51
### 使用 Docker Compose 部署 GitLab 的最佳实践
通过 Docker Compose 部署 GitLab 是一种高效且灵活的方式,能够快速启动和运行 GitLab 实例。以下是部署的最佳实践指南:
#### 1. 创建专用目录存储数据和配置文件
为了确保数据持久化以及便于管理,建议为 GitLab 创建一个专门的目录来存储相关数据和配置文件。例如:
```bash
mkdir -p /opt/gitlab/{config,data,logs}
```
#### 2. 编写 `docker-compose.yml` 文件
以下是一个完整的 `docker-compose.yml` 文件示例,基于最佳实践配置[^3]:
```yaml
version: '3.8'
services:
gitlab:
image: gitlab/gitlab-ce:latest # 使用最新版本的 GitLab CE 镜像
container_name: gitlab # 指定容器名称
restart: always # 始终重启策略
hostname: gitlab.example.com # 替换为实际主机名或 IP 地址
environment:
TZ: 'Asia/Shanghai' # 设置时区
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://192.168.40.10:8999' # 替换为实际访问地址
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['gitlab_shell_ssh_port'] = 3222 # 自定义 SSH 端口
unicorn['port'] = 8888 # 自定义 Web 端口
nginx['listen_port'] = 8999 # 自定义 HTTP 端口
ports:
- '8999:8999' # 映射 HTTP 端口
- '8443:443' # 映射 HTTPS 端口
- '3222:22' # 映射 SSH 端口
volumes:
- ./gitlab/config:/etc/gitlab # 持久化配置文件
- ./gitlab/data:/var/opt/gitlab # 持久化数据
- ./gitlab/logs:/var/log/gitlab # 持久化日志
```
#### 3. 启动服务
在完成 `docker-compose.yml` 文件编写后,使用以下命令启动服务:
```bash
docker-compose up -d
```
这将以后台模式启动 GitLab 容器。
#### 4. 获取初始密码
首次启动时,GitLab 会生成一个随机的 root 用户密码。可以通过以下两种方式获取密码[^2]:
**方式一:从日志中提取密码**
```bash
docker container exec -it gitlab grep 'Password' /etc/gitlab/initial_root_password
```
**方式二:手动修改密码**
如果无法找到初始密码,可以进入容器并手动设置新密码:
```bash
docker container exec -it gitlab /bin/bash
gitlab-rails console
> user = User.where(id: 1).first
> user.password = 'new_password'
> user.password_confirmation = 'new_password'
> user.save!
exit
gitlab-ctl restart
```
#### 5. 配置 Nginx 反向代理(可选)
如果需要通过外部 Nginx 提供反向代理支持,可以参考以下配置[^5]:
```nginx
upstream gitlab_ssh {
server 127.0.0.1:3222;
}
server {
listen 9000;
proxy_connect_timeout 1h;
proxy_pass gitlab_ssh;
}
```
#### 6. 资源限制与性能优化
为了提高性能和稳定性,可以在 `docker-compose.yml` 中添加资源限制[^3]:
```yaml
deploy:
resources:
limits:
cpus: "2" # 限制 CPU 核心数
memory: "4G" # 限制内存大小
reservations:
cpus: "0.5"
memory: "200M"
```
---
阅读全文
相关推荐

















