docker下升级gitlab
目录
公司的gitlab容器使用的镜像版本为14.1.2
,已经是一年前的了。我是个喜新厌旧的人,所以动起了把gitlab升级到最新的念头。从官网上了解到不同版本的gitlab之间有一个升级路径。不遵循这个升级路径,出问题自己后悔去吧。对照当前的版本,我的升级路径如下图:
镜像下载
首先把升级路径上相应版本的镜像都下载下来:
|
|
备份
稳妥起见先做一个备份,万一升级失败可以还原回去,备份的步骤可以参考这里。
版本升级
版本升级的原理是基于我的gitlab容器的数据目录独立于容器存在,也即通过映射将gitlab容器数据目录映射到宿主机器某个目录。这样在升级gitlab容器镜像版本的时候,数据可以共用。升级流程如下图:
以14.1.2
升级到14.3.6
为例,首先停止原来的gitlab容器,并重命名为相应版本:
|
|
然后使用14.3.6
版本的gitlab镜像重新运行一个容器,启动参数和原来的容器一样,只是容器名字和镜像版本不一样了:
|
|
稍微等待一下,待容器启动好,访问一下gitlab页面,如果功能都正常,说明升级成功。重复上图中的2个步骤,直到容器的镜像版本升级到最新为止。需要注意的是当镜像版本为latest
时,用gitlab
作为名字运行容器,这样容器名更简单:
|
|
清理
当容器成功升级到最新版镜像后,可以把升级过程中创建的那些容器都删掉,如下所示:
|
|
旧版本的镜像也可以删掉,首先查看已有的镜像列表:
|
|
下图是我的镜像列表:
找到gitlab旧版本对应的镜像ID,使用docker rmi
命令删除:
|
|
至此gitlab升级完毕。