安装
1.首先pull 镜像 这是取得的是12.3.5
docker pull gitlab/gitlab-ee:12.3.5-ee.0
2. 配置 对应的映射文件夹 方便以后查看
mkdir /data/app/gitlab/etc
mkdir /data/app/gitlab/log
mkdir /data/app/gitlab/data
3.docker 安装运行容器
docker run --hostname 你的IP地址 --publish https端口:443 --publish http端口:80 --name gitlab --privileged=true --restart unless-stopped -v /data/app/gitlab/etc:/etc/gitlab -v /data/gitlab/log:/var/log/gitlab -v /data/app/gitlab/data:/var/opt/gitlab gitlab/gitlab-ee:12.3.5-ee.0
这时候会一直run 一直到log就能直接打开了
此时原版镜像已经OK了能访问了。。。。。。。。。。。。
汉化
参考文章:https://www.cnblogs.com/sunhongleibibi/p/12072689.html(汉化部分)
1.首先进入容器
docker exec -it 容器ID bash
2.查看gitlab的版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
3.使用wget获取具体的版本的汉化包
wget https://gitlab.com/xhang/gitlab/-/archive/v12.3.5-zh/gitlab-v12.3.5-zh.tar.gz
tar -zxf gitlab-v12.3.5-zh.tar.gz
4.停掉gitlab服务
gitlab-ctl stop
5.备份原文件
cp -fr /opt/gitlab/embedded/service/gitlab-rails{,gao-`date +%Y%m%d`}
6.复制
cp -rf ./gitlab-v12.3.5-zh/* /opt/gitlab/embedded/service/gitlab-rails/
复制的过程中出现这2句是没问题的
cp: cannot overwrite non-directory ‘/opt/gitlab/embedded/service/gitlab-rails/log’ with directory ‘./log’
cp: cannot overwrite non-directory ‘/opt/gitlab/embedded/service/gitlab-rails/tmp’ with directory ‘./tmp’
7.复制完成后,需要重新加载配置,并启动Gitlab
gitlab-ctl reconfigure
gitlab-ctl restart
8.退出gitlab
exit
9.重启容器
docker restart 容器ID
访问中有可能出现502 那请重复1,7步 重新启动gitlab服务
10.完成
11.如果还没有 设置一下就好了
内存调优部分
用过一段时间后我发现gitlab内存占用过高所以参考网上的办法进行了调优,目前内存占用基本趋向稳定我的服务资源是 2核4G 可以根据资源进行调整
先进入gitlab容器
docker exec -it 容器ID bash
找到配置文件
vim /etc/gitlab/gitlab.rb
搜索并调整下面参数(双斜杠“//”是注释,是不需要放进去的,此外要把前面#号注释打开)
/worker_processes //vim搜索
unicorn['worker_processes'] = 2 //cpu核数
/shared_buffers
postgresql['shared_buffers'] = "256MB" //减少postgres数据库缓存
/max_worker_processes
postgresql["max_worker_processes "]=5 //最大数据库连接数
/concurrency
sidekiq['concurrency'] = 15 //降低sidekiq中的并发级别
/prometheus_monitoring
prometheus_monitoring['enable'] = false //禁用普罗米修斯监控
/worker_memory_limit_min
unicorn['worker_memory_limit_min'] = "200 * 1 << 20 //最小内存改为200
/worker_memory_limit_max
unicorn['worker_memory_limit_max'] = "300 * 1 << 20 //最大内存改为300