docker gitlab/gitlab-ce 升级版本

原因:

发现服务器内存占用100%,执行命令查看内存占用

ps aux | head -1;ps aux |grep -v PID |sort -rn -k +4 | head -20

 发现/tmp/juma目录占用内存过高,但是本机目录并没有/tmp/juma目录,通过查找排查,是docker运行的gitlab容器里面的文件目录,查阅gitlab版本说明,发现了该版本漏洞,详情:CVE-2021-22205 GitLab RCE之未授权访问深入分析(一) - FreeBuf网络安全行业门户本篇文章通过分析调试gitlab-workworse和gitlab-rails带你由浅入深一步步了解gitlab最近爆出的RCE未授权部分,看完之后下一个挖出漏洞的说不定就是你。https://www.freebuf.com/vuls/306473.html

 解决方案:

升级gitlab版本来解决此问题,但是gitlab升级不能跨大版本,必须需要升级到对应的版本才可以升级更高的版本.

本人目前git版本12.9.3,需要升级到13.10.3 或以上版本

首先先找到当前gitlab版本的启动命令,这里主要是看项目挂载位置,不然升级版本导致项目丢失就不是我们的目的了.

1.首先先把服务器进行备份,制作镜像或者快照.

2.查找出启动gitlab的命令,这里我使用https://github.com/nexdrew/rekcod 安装这个项目,安装之后使用 

rekcod 容器id

# 得到gitlab的启动命令 
docker run --name gitlab12.9.3 --runtime runc -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab -p 222:22/tcp -p 443:443/tcp -p 80:80/tcp --restart always -h 5cd912f1ca1d --expose 22/tcp --expose 443/tcp --expose 80/tcp -e 'PATH=/opt/gitlab/embedded/bin:/opt/gitlab/bin:/assets:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' -e 'LANG=C.UTF-8' -e 'TERM=xterm' -e 'EDITOR=/bin/vi' -d 镜像id '/assets/wrapper'

然后去到docker仓库 找到12.*最后一个版本 下载镜像

docker pull gitlab/gitlab-ce:12.10.14-ce.0

然后停止当前12.9.3版本的容器

docker stop 容器id

使用12.10.14版本镜像启动新的容器

docker run --name gitlab12.10.14 --runtime runc -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab -p 222:22/tcp -p 443:443/tcp -p 80:80/tcp --restart always -h 5cd912f1ca1d --expose 22/tcp --expose 443/tcp --expose 80/tcp -e 'PATH=/opt/gitlab/embedded/bin:/opt/gitlab/bin:/assets:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' -e 'LANG=C.UTF-8' -e 'TERM=xterm' -d 容器id '/assets/wrapper'

使用命令查看日志 是否有错误日志

docker logs 容器id 

如果没有错误日志,等待gitlab部署完成,在寻找13.0.*版本的gitlab进行升级 步骤如上,我就不重复累赘了

记得版本不可跨级太多 不然会报错

Cleaning stale PIDs & sockets
It seems you are upgrading from major version 13 to major version 14.
It is required to upgrade to the latest 14.0.x version first before proceeding.
Please follow the upgrade documentation at https://docs.gitlab.com/ee/update/index.html#upgrading-to-a-new-major-version
Thank you for using GitLab Docker Image!
Current version: gitlab-ce=14.5.2-ce.0

感谢阅读,有不足之处,欢迎留言探讨. 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值