在CentOS中通过Docker容器化部署GitLab是一个相对简单且高效的方法。以下是详细的步骤:
安装Docker: 确保你的CentOS系统上已经安装了Docker。如果没有安装,可以参考Docker官方文档进行安装。
拉取GitLab镜像: 使用以下命令从Docker Hub拉取最新版本的GitLab镜像:
docker pull gitlab/gitlab-ce
创建目录: 创建用于存储GitLab配置文件、日志和数据文件的目录:
mkdir -p /data/gitlab/{config,logs,data}
运行GitLab容器: 使用以下命令启动GitLab容器,并将容器内的目录映射到宿主机:
docker run -d \
--hostname gitlab.example.com \
-p 443:443 \
-p 80:80 \
-p 22:22 \
--name gitlab \
--restart always \
-v /data/gitlab/config:/etc/gitlab \
-v /data/gitlab/logs:/var/log/gitlab \
-v /data/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
命令参数解释:
-d
:以守护进程模式运行容器。--hostname
:设置容器的主机名。-p
:将容器端口映射到宿主机端口。--name
:设置容器名称。--restart always
:容器退出时总是重启。-v
:将容器内路径映射到宿主机路径。访问GitLab:
打开浏览器,访问 http://<your-server-ip>:80
,使用root账户登录并设置密码。
更改SSH端口:
如果需要更改SSH端口,可以在启动容器时添加 --publish
参数,例如:
docker run -d \
--hostname gitlab.example.com \
-p 443:443 \
-p 80:80 \
-p 2222:22 \
--name gitlab \
--restart always \
-v /data/gitlab/config:/etc/gitlab \
-v /data/gitlab/logs:/var/log/gitlab \
-v /data/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
禁用注册功能:
编辑 /etc/gitlab/gitlab.rb
文件,找到以下行并注释掉:
gitlab_rails['register_email_notification'] = false
然后重载配置:
docker exec -t gitlab gitlab-ctl reconfigure
配置发件邮箱:
在 /etc/gitlab/gitlab.rb
文件中添加以下配置信息:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.example.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your-email@example.com"
gitlab_rails['smtp_password'] = "your-password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['gitlab_email_from'] = "your-email@example.com"
然后重载配置:
docker exec -t gitlab gitlab-ctl reconfigure
通过以上步骤,你可以在CentOS上成功部署GitLab,并进行基本的配置调整。希望这些信息对你有所帮助!