首页 > 其他分享 >docker升级gitlab

docker升级gitlab

时间:2023-04-18 14:34:35浏览次数:46  
标签:ce.0 gitlab 升级 14.10 版本 镜像 docker

  昨天在家部署了gitlab,版本居然是15.10,公司版本却是14.6,升级一波。

官方文档:

  https://docs.gitlab.com/ee/update/#upgrading-without-downtime

官方文档总结:

  文档介绍需要按升级路径拉取镜像。

  经我概览,只需备份etc、log、opt三个文件夹,而且都早已挂载在宿主机,无所谓,随便升

  另外,有正在运行的CI/CD作业需要处理一下,因为我的gitlab还没有这些,不能演示,请参考官网。

开始:

  #1.查看gitlab当前版本

docker exec -it gitlab cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

 我这显示14.6.1

  #2.上DockerHub查找最新版本

https://hub.docker.com/r/gitlab/gitlab-ce/tags,不要直接拉取latest,因为不会跨版本升级

看了一下,最新版是15.10.3-ce.0,因为我的版本是14.6,需要先升级至14.10.X最新版,再升级至15.0.X最新版,才能再升级至当前最新的15.10.3-ce.0,

至于我是从哪看的,可以自行运行最新镜像,容器会不断重启,看一下log就知道了。

根据搜索记录显示,15.0.X最新版本为:15.0.5-ce.0,14.10.X是14.10.5-ce.0

这个升级路线可以直接docker运行最新镜像查logs,慢慢倒推,也可以自己百度清楚,提前把需要的镜像pull下来,一个2G多,也挺费时间的

  #3.查看gitlab容器ID

docker ps

  #4.暂停并删除gitlab容器

删除前需确认一下配置文件和数据是否已挂载,一般都会配置挂载路径

docker stop <CONTAINERID>
docker rm <CONTAINERID>

头铁不弄也行,除非你想给容器起不同的名字,用不同的端口号,不然肯定运行不起来

  #5.运行gitlab网站14.10.X最新的gitlab镜像

sudo docker run --detach \
  --name gitlab \
  --restart always \
  -p 9080:80 \
  -p 9022:22 \
  -v /home/gitlab/etc:/etc/gitlab  \
  -v /home/gitlab/log:/var/log/gitlab \
  -v /home/gitlab/opt:/var/opt/gitlab \
  gitlab/gitlab-ce:14.10.5-ce.0

注意:他会自行拉取gitlab官网的镜像。本地镜像不要同名的gitlab/gitlab-ce:tag,不然会运行本地镜像,如果重名,请docker rmi id 删除或者手动docker pull 并加上tag最新版。
注意:既然是升级那挂载目录千万别错了,要跟之前的目录一样

解释:

sudo:以管理员权限运行,如果是root账号无所谓

--detach:可简写成-d,后台运行

--name:容器名

-v:挂载,左边是宿主机目录,右边是容器内目录

gitlab/gitlab-ce:拉取gitlab的社区版

  #6.等待gitlab启动完成

这个时候浏览器访问显示无法访问别慌,输入docker ps,会看到gitlab的状态是starting,等他完成

   #7.重复开局步骤查看当前版本

先浏览器访问一下有没有启动成功,我这是成功了。然后查询版本为14.10.5

  #8.暂停、删除容器,运行下一版本15.0.X

查看是否启动成功,然后继续,命令在第5步,只需把结尾的版本号换一下就行

  #9.暂停、删除容器,运行当前最新版本15.10.3-ce.0

然后访问页面,root登录,仪表盘查看版本,可以看到版本变成最新的了。至于为啥步骤这么奇怪,必须每个版本都得运行一下,我也不知道,但确实跨版本升级会报错

  #10.删除旧版本镜像,释放空间

docker rmi ImageID

结束

标签:ce.0,gitlab,升级,14.10,版本,镜像,docker
From: https://www.cnblogs.com/gaoxiong666/p/17328873.html

相关文章

  • telnet远程管理linux主机及Zlib、openssl、openssh升级1
    一、telent远程管理主机1.安装telent服务服务端:yuminstalltelnet-server-y#安装服务端useradddaipasswddai#创建lhj用户,设置lhj密码,密码有规则要求,大小写数字加符号,输2次即可客户端:yuminstalltelnet-y#安装客户端2.测试telent登录客户端:telnet192.......
  • SQL Server常用升级方法
    一、选择SQLServer升级方法升级SQLServer的方法归结为几个业务目标:最短的停机时间、最少的花费、最小的风险。这几个目标通常是无法兼具的,以下每种方法都有利弊,因此根据业务情况选择正确的升级方法非常重要。1.业界最常用的升级或迁移SQLServer方法全备还原附加和分离就地升级......
  • pg 大版本升级方法 及 pg_upgrade就地升级测试
    一、主要升级方法PostgreSQL自身有三种大版本升级的方法:三种方法升级建议架构如下: 另外根据pg大会介绍,还有一种升级工具叫做PgQ其特点如下 二、 pg_upgrade就地升级测试 1.测试环境测试postgresql9.6升级至postgresql10.4源库:9.6环境prefix目录:/data/PRD/postgres/base/......
  • docker入门之三:docker构建私有镜像入门到实践
    1.docker构建私有镜像1.1.使用Dockerfile定制镜像1.2.构建镜像1.docker构建私有镜像1.1.使用Dockerfile定制镜像在空目录创建文件,命名为Dockerfile[hadoop@hadoop101file]$cddocker/[hadoop@hadoop101docker]$mkdirmydockerfile[hadoop@hadoop101dock......
  • docker入门之二:docker常用命令
    1.docker常用命令1.1.基本命令1.2.docker管理容器1.2.1.启动容器进入容器删除容器1.docker常用命令1.1.基本命令获取镜像[hadoop@hadoop101docker]$dockerpullubuntu:16.04运行镜像[hadoop@hadoop101docker]$dockerrun-it--rmubuntu:16.0......
  • docker入门之一:docker基础概念与安装
    1.Docker简单介绍1.1.什么是docker?1.2.Docker和传统虚拟机1.3.为什么使用docker1.4.docker架构2.Docker安装2.1.docker版本命名2.2.docker安装2.3.docker卸载2.4.docker镜像加速器1.Docker简单介绍1.1.什么是docker?googlego语言开发,基于Linux内......
  • Windows下升级Jenkins
    升级前:升级步骤:1、下载war包https://www.jenkins.io/download/2、停止Jenkins服务,将war包替换到Jenkins安装目录下C:\ProgramFiles(x86)\Jenkins3、启动Jenkins服务,报错1067jdk版本过低,下载jdk17并安装https://www.oracle.com/cn/java/technologies/downloads/#jdk17......
  • 交换机版本升级
    步骤1.准备升级文件包2.查看设备当前版本3.PC利用3CD完成TFTP服务器搭建4.使电脑和交换机可以通信5.上传或下载安装包到交换机6.指定下次启动文件7.重启设备8.再次查看升级完成后的版本(1)3CD升级命令<H3C>displayversion                  ......
  • 将用户从docker组移除
    将用户从docker组移除:gpasswd-dec2-userdocker1.使用命令gpasswd删除用户要将用户从一个组中移除,需要先确定用户的帐号,然后查看要删除的组名,使用命令gpasswd-d即可实现将用户从组中移除。例如,要将用户“alice”从组“test”中移除,可以运行以下命令:gpasswd-dalicetest2......
  • Centos7开启docker checkpoint
    检查点和还原是一项实验性功能,允许您冻结正在运行的容器,通过检查点将其状态转换为文件集合在磁盘上。稍后,容器可以从冻结点恢复。#docker开启checkpoint:"experimental":true,[root@jenkins~]#cat/etc/docker/daemon.json{"experimental":true,"data-root":......