在CentOS上使用Docker容器化部署GitLab是一个相对简单且高效的方法。以下是详细的步骤:
安装Docker: 确保你的CentOS系统上已经安装了Docker。如果尚未安装,可以参考官方文档进行安装。
sudo yum update -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/dockerce.repo
sudo yum install -y dockerce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
sudo docker --version
拉取GitLab镜像: 使用以下命令从Docker Hub拉取最新版本的GitLab镜像。
docker pull gitlab/gitlab-ce:latest
创建挂载目录: 创建用于存储GitLab配置文件、日志和数据目录的挂载点。
mkdir -p /mydata/gitlab/config
mkdir -p /mydata/gitlab/log
mkdir -p /mydata/gitlab/data
运行GitLab容器: 使用以下命令启动GitLab容器,并将挂载目录映射到容器内的相应位置。
docker run -d \
-p 7003:22 \
-p 7002:80 \
-p 7001:443 \
-v /mydata/gitlab/config:/etc/gitlab \
-v /mydata/gitlab/log:/var/log/gitlab \
-v /mydata/gitlab/data:/var/opt/gitlab \
--hostname gitlab.example.com \
--restart always \
--name gitlab \
gitlab/gitlab-ce:latest
命令解释:
-p 7003:22
:将容器内部的22端口映射到主机的7003端口。-p 7002:80
:将容器内部的80端口映射到主机的7002端口。-p 7001:443
:将容器内部的443端口映射到主机的7001端口。-v /mydata/gitlab/config:/etc/gitlab
:挂载配置文件目录。-v /mydata/gitlab/log:/var/log/gitlab
:挂载日志文件目录。-v /mydata/gitlab/data:/var/opt/gitlab
:挂载数据文件目录。
–hostname:设置容器的主机名。
–restart always:容器退出时自动重启。
–name gitlab:容器名称。访问GitLab:
打开浏览器,访问http://gitlab.example.com
,按照界面上的指引进行初始设置。首次访问可能需要较长时间进行初始化和配置。
配置HTTPS(可选): 如果你希望使用自定义域名和启用HTTPS,可以参考GitLab官方文档中的相关指南。GitLab官方文档
修改默认端口: 如果你需要修改GitLab的默认端口(例如将HTTP端口改为8080),可以在启动容器时指定:
docker run -d \
-p 8080:80 \
-p 443:443 \
-p 22:22 \
-v /mydata/gitlab/config:/etc/gitlab \
-v /mydata/gitlab/log:/var/log/gitlab \
-v /mydata/gitlab/data:/var/opt/gitlab \
--hostname gitlab.example.com \
--restart always \
--name gitlab \
gitlab/gitlab-ce:latest
配置邮件服务:
如果需要配置邮件服务(如SMTP),可以在/etc/gitlab/gitlab.rb
文件中添加以下配置,然后重新配置GitLab:
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"
gitlab_rails['gitlab_email_domain'] = "example.com"
然后执行以下命令重新配置GitLab:
gitlab-ctl reconfigure
通过以上步骤,你就可以在CentOS上成功部署GitLab容器。根据实际需求,你还可以进行进一步的配置和优化。希望这些信息对你有所帮助。