1、拉取gitlab镜像
#gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本
docker pull gitlab/gitlab-ce
若你想装中文版本
docker pull beginor/gitlab-ce
2、运行gitlab镜像
# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
docker run -d -p 4433:443 -p 8080:80 -p 2222:22 \
--name gitlab \
--restart always \
-v /home/gitlab/config:/etc/gitlab \
-v /home/gitlab/logs:/var/log/gitlab \
-v /home/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce
3、修改配置
按上面的方式,gitlab容器运行没问题,但在gitlab上创建项目的时候,生成项目的URL访问地址是按容器的hostname来生成的,也就是容器的id。作为gitlab服务器,我们需要一个固定的URL访问地址,于是需要配置gitlab.rb(宿主机路径:/home/gitlab/config/gitlab.rb)
# gitlab.rb文件内容默认全是注释
vim /home/gitlab/config/gitlab.rb
# 配置http协议所使用的访问地址,不加端口号默认为80,还可以配置域名
external_url 'http://127.0.0.1'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '127.0.0.1'
gitlab_rails['gitlab_shell_ssh_port'] = 2222 # 此端口是run时22端口映射的2222端口
gitlab内存占用过高优化
#默认是注释的
#减少进程数,最小不能低于2,否则卡死
#官方建议cpu核数+1
unicorn['worker_processes'] = 3
#超时时间
unicorn['worker_timeout'] = 60
# 重启gitlab容器
docker restart gitlab
若重启服务器后需要启动docker
systemctl start docker