Docker部署GitLab

环境:

  • RockyLinux9.4

  • 虚拟机配置 4C12G(运存至少4G)

  • Docker version 26.1.3

  • 防火墙关闭

拉取镜像

sudo docker pull gitlab/gitlab-ce:17.0.1-ce.0

创建挂载文件目录

sudo mkdir /home/xxx/docker/gitlab/config
sudo mkdir /home/xxx/docker/gitlab/data
sudo mkdir /home/xxx/docker/gitlab/logs

目录路径就不那么讲究了...

请替换xxxxxx代表用户名

部署

通用

sudo docker run -d -p 52702:52702 -p 52701:22 -e TZ=Asia/Shanghai --hostname gitlab -e GITLAB_OMNIBUS_CONFIG="external_url 'http://<宿主机IP>:52702'; gitlab_rails['gitlab_shell_ssh_port'] = 52701" -v /home/xxx/docker/gitlab/config:/etc/gitlab -v /home/xxx/docker/gitlab/logs:/var/log/gitlab -v /home/xxx/docker/gitlab/data:/var/opt/gitlab --shm-size 256m --name my-gitlab gitlab/gitlab-ce:17.0.1-ce.0

按照官方文档

-p 52702:52702 容器nginx的80端口替换后宿主机也要同时替换成相同的(默认80)

-p 52701:22 SSH协议端口号变更

--hostname my-gitlab 定义容器主机名,可有可无

-e GITLAB_OMNIBUS_CONFIG="external_url 'http://<宿主机IP>:52702'; gitlab_rails['gitlab_shell_ssh_port'] = 52701" 修改对应端口 ,若没有则需要进入容器内修改gitlab.rb然后重启gitlab,嫌麻烦的加上

-v 挂载宿主机目录操作

我个人

sudo docker run -d --net my-network --ip 172.18.0.6 -p 52702:52702 -p 52701:22 -e TZ=Asia/Shanghai --hostname gitlab -e GITLAB_OMNIBUS_CONFIG="external_url 'http://192.168.33.3:52702'; gitlab_rails['gitlab_shell_ssh_port'] = 52701" -v /home/yd/docker/gitlab/config:/etc/gitlab -v /home/yd/docker/gitlab/logs:/var/log/gitlab -v /home/yd/docker/gitlab/data:/var/opt/gitlab --shm-size 512m --name my-gitlab gitlab/gitlab-ce:17.0.1-ce.0

等待...

漫长的等待...

开始使用

运存消耗大概在4G左右,没启动好会显示502页面

启动好后访问

http://<宿主机IP>:<端口号>

初始root密码查看

sudo docker exec -it my-gitlab grep 'Password:' /etc/gitlab/initial_root_password

结束