以下是在Linux环境中使用Docker实现GitLab容器化部署的步骤:
安装Docker
根据Linux发行版使用包管理器安装,例如Ubuntu:
sudo apt update && sudo apt install -y docker.io
sudo systemctl start docker && sudo systemctl enable docker
安装Docker Compose(可选但推荐)
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
创建docker-compose.yml
文件
version: '3.6'
services:
gitlab:
image: gitlab/gitlab-ce:latest
container_name: gitlab
restart: always
ports:
- '80:80' # HTTP
- '443:443' # HTTPS
- '22:22' # SSH
volumes:
- './config:/etc/gitlab'
- './logs:/var/log/gitlab'
- './data:/var/opt/gitlab'
shm_size: '256m' # 避免Sidekiq报错
将文件保存至宿主机目录(如/data/gitlab/
),并确保挂载目录存在且可写。
启动容器
cd /data/gitlab/
docker-compose up -d
docker run
命令docker run -d \
--hostname your-server-ip \
--name gitlab \
--restart always \
-p 80:80 -p 443:443 -p 22:22 \
-v /path/to/config:/etc/gitlab \
-v /path/to/logs:/var/log/gitlab \
-v /path/to/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
需将/path/to/
替换为宿主机实际路径。
获取初始密码
docker exec -it gitlab cat /etc/gitlab/initial_root_password
24小时内有效,用于首次登录设置。
修改外部访问URL(可选)
docker exec -it gitlab vim /etc/gitlab/gitlab.rb
# 修改以下配置
external_url 'http://your-domain.com'
gitlab-ctl reconfigure
若需HTTPS,可进一步配置SSL证书。
ports
参数调整。config
、logs
、data
目录需提前创建,避免容器重启后数据丢失。ufw allow 80/443/22
)。完成部署后,可通过浏览器访问http://your-server-ip
,使用初始密码登录并完成后续配置。
参考来源: