Docker安装GitLab中文版详细流程,以及非80端口配置
Docker安装GitLab中文版详细流程
我将为您提供一个详细的指南,介绍如何使用Docker安装GitLab中文版,包括配置和非80端口的设置。
前提条件
- 已安装Docker和Docker Compose
- 具有root或sudo权限的Linux系统
步骤1:准备环境
首先,创建GitLab数据存储目录:
sudo mkdir -p /srv/gitlab/config /srv/gitlab/logs /srv/gitlab/data
步骤2:创建Docker Compose配置文件
创建docker-compose.yml
文件:
sudo nano docker-compose.yml
将以下内容粘贴到文件中(注意我们使用的是非80端口):
version: '3'
services:
gitlab:
image: 'twang2218/gitlab-ce-zh:latest'
container_name: 'gitlab'
restart: always
hostname: 'gitlab.example.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab.example.com:8929'
gitlab_rails['gitlab_shell_ssh_port'] = 2224
# 添加其他配置
ports:
- '8929:8929' # HTTP端口,非80端口
- '2224:22' # SSH端口
volumes:
- '/srv/gitlab/config:/etc/gitlab'
- '/srv/gitlab/logs:/var/log/gitlab'
- '/srv/gitlab/data:/var/opt/gitlab'
步骤3:启动GitLab容器
sudo docker-compose up -d
这将在后台启动GitLab容器。首次启动可能需要几分钟。
步骤4:配置非80端口
在上面的配置中,我们已经设置了GitLab使用8929端口而不是默认的80端口。关键配置是:
external_url 'http://gitlab.example.com:8929'
和
ports:
- '8929:8929'
步骤5:修改GitLab配置
如果需要进一步修改配置,可以编辑GitLab配置文件:
sudo nano /srv/gitlab/config/gitlab.rb
修改后重启GitLab容器:
sudo docker-compose restart
步骤6:访问GitLab
现在可以通过浏览器访问GitLab:
http://YOUR_SERVER_IP:8929
首次访问时,系统会要求您设置管理员密码。
常见配置选项
以下是一些常见的GitLab配置选项,可以添加到GITLAB_OMNIBUS_CONFIG
环境变量中:
# 邮件设置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "user@example.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_domain'] = "example.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['gitlab_email_from'] = 'gitlab@example.com'
# 备份设置
gitlab_rails['backup_keep_time'] = 604800 # 保留备份一周(以秒为单位)
检查GitLab状态
检查GitLab容器状态:
sudo docker ps
查看GitLab日志:
sudo docker logs -f gitlab
更新GitLab
更新GitLab到最新版本:
sudo docker-compose pull
sudo docker-compose down
sudo docker-compose up -d
故障排除
如果遇到问题,可以检查以下几点:
- 确保防火墙允许8929端口的流量
- 检查Docker容器是否正常运行
- 查看GitLab日志以获取错误信息
# 检查防火墙
sudo ufw status
# 如果需要,开放端口
sudo ufw allow 8929/tcp
sudo ufw allow 2224/tcp
希望这个指南对您有所帮助!如果有任何问题,请随时提问。