docker部署极狐Gitlab
近段时间升级了下家用服务器的配置,将原部署在群晖中的Gitlab部署到了新服务器中,本文记录了在CentOS7上基于docker部署极狐Gitlab的步骤。
创建CentOS7虚拟机
使用Esxi 8.0创建CentOS 7的虚拟机,该部分见文章Esxi8.0部署CentOS 7。
极狐Gitlab比较消耗内存,这里建议虚拟机内存最少设置为8G。
在CentOS7上安装docker
在CentOS 7上安装docker,该部分见文章CentOS7安装docker。
创建环境变量GITLAB_HOME
创建环境变量,方便统一管理装载卷的位置,这里将gitlab的文件持久化到/opt/gitlab-jh下:
sudo vim ~/.bash_profile |
按i进入编辑模式,将以下内容复制进去,按esc退出编辑模式,输入:wq退出编辑并保存:
export GITLAB_HOME=/opt/gitlab-jh |
创建gitlab-jh文件夹
进入opt目录 |
使用docker安装极狐Gitlab
sudo docker run --detach \ |
说明:
--publish 443:443 --publish 80:80 --publish 22222:22:由于本次虚拟机中仅安装极狐Gitlab,顾将容器的443与80端口映射到虚拟机的443与80上,但虚拟机的22端口需要在远程连接时使用,所以将容器的22端口映射到虚拟机的22222端口;--name gitlab:设置容器名称;--restart always:设置容器自动启动;--volume $GITLAB_HOME/config:/etc/gitlab:映射配置文件目录;--volume $GITLAB_HOME/data:/var/opt/gitlab:映射数据文件目录;--volume $GITLAB_HOME/logs:/var/log/gitlab:映射日志文件目录;shm-size 256m:--privileged=true:使用特权启动容器,否则容器没有权限将文件创建到宿主机目录;
查看容器状态
查看docker容器状态 |
至此gitlab已经创建并启动完毕,初始用户名为root,初始密码需要通过sudo cat /opt/gitlab-jh/config/initial_root_password命令进行查看,建议处理登录后首先修改root用户的密码。
强制使用https打开gitlab
上传SSL证书
- 创建SSL证书目录
cd /opt/gitlab-jh/config
sudo mkdir ssl - 将证书文件(
xxx.crt与xxx.key)上传至ssl目录
修改配置文件
修改gitlab.rb文件 |
可以按/后输入内容进行查找,按回车后可定位至查找内容处,然后再按i进入编辑模式,修改如下内容,修改完成后按:wq保存退出:
配置为虚拟机https地址,由于这里容器的443的端口映射到了宿主机的443端口,所以这里配置为https://虚拟机IP,若映射到了其他端口,则可以配置为https://虚拟机IP:端口号 |
配置邮件服务(这里使用QQ邮箱)
sudo vim /opt/gitlab-jh/config/gitlab.rb |
可以按/后输入内容进行查找,按回车后可定位至查找内容处,然后再按i进入编辑模式,修改如下内容,修改完成后按:wq保存退出:
gitlab_rails['smtp_enable'] = true |