docker升级gitlab
昨天在家部署了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
注意:没有提前pull也没关系,他会自行拉取gitlab官网的镜像。
注意:既然是升级那挂载目录千万别错了,要跟之前的目录一样。
解释:
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
结束
docker升级gitlab的更多相关文章
- Docker学习系列(三)Docker搭建gitlab的两种方式
一.直接下载docker-ce 1.拉取gitlab/gitlab-ce Randy:~ Randy$ docker pull gitlab/gitlab-ce Using default tag: ...
- docker 安装 gitlab
基于Docker部署GitLab环境搭建 建议虚拟机内存2G以上 1.下载镜像文件 docker pull beginor/gitlab-ce:11.0.1-ce.0 注意:一定要配置阿里云的加速镜像 ...
- 使用Docker部署Gitlab
由于公司的代码server已使用Gitosis搭建,但由于用户和权限管理太麻烦. 如今想在原有server上再搭建Gitlab,使用Gitlab官方方法直接安装. 会导致与Gitosis冲突,使得Gi ...
- 基于Docker的GitLab搭建
今天写一些Docker搭建GitLab,好久没有写博客园了,今天又回来了,为了学习技术? 建议使用Linux内核系统,或者虚拟机,首先安装docker环境(菜鸟教程) 一.下载镜像文件 如果慢的话,可 ...
- Docker安装Gitlab
一.Ubuntu16.4上Docker安装Gitlab 1.安装docker 参见:https://docs.docker.com/engine/installation/linux/ubuntuli ...
- centos7 docker升级到最新稳定版本
原文:centos7 docker升级到最新稳定版本 一.前言 docker的版本分为社区版docker-ce和企业版dokcer-ee社,区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外 ...
- Windows 下 docker 部署 gitlab ci
一.安装 1. 安装 docker Docker下载 注意:Windows 10 家庭版获取 之前的版本不能直接安装 Docker ,而是需要去安装 Docker Toolbox 我这里安装的是 Do ...
- Docker install GitLab
示范一下如何透过Docker安装GitLab,也顺便将一些常用的东西纪录一下 作业系统: CentOS 7 安装Docker CE 1. 先移除系统上预先安装的Docker旧版本 yum remove ...
- docker搭建gitlab服务器(Centos7)
系统环境:CentOS Linux release 7.6.1810 (Core) git版本:gitlab/gitlab-ce 一.安装和启动docker 见HTTPRUNNERMANAGER安装部 ...
- Centos7使用docker搭建gitlab服务器
了解到docker的优点,搭建快,运行要求资源低,最重要的是实现的功能和效果都能达到预期,于是决定使用docker来搭建gitlab服务器. 效果图如下: 系统环境:CentOS Linux rele ...
随机推荐
- CAS 6.x + Delegated Authentication SAML2.0 配置记录
最近领导派了一个活儿, 需要把我们CAS系统的身份识别交给甲方的系统, 甲方的系统是SAML2.0的协议. 由于之前对SAML2.0协议了解不多,折腾了不少时间,在这里记录一下.以后忘掉还可以看看. ...
- 自己动手从零写桌面操作系统GrapeOS系列教程——24.加载并运行loader
学习操作系统原理最好的方法是自己写一个简单的操作系统. 之前我们在电脑的启动过程中介绍过boot程序的主要任务就是加载并运行loader程序,本讲我们就来实现. 本讲代码文件共2个: boot.asm ...
- gulp基本操作
1.安装淘宝镜像 npm install cnpm -g --registry=https://registry.npm.taobao.org cnpm -v 2.生成项目描述文件 package.j ...
- STM32F407 学习 (0) 各种外设功能 (中)
十.高级定时器 1.重复计数器 如果我们设置重复计数器寄存器 RCR 的值为 N,那么更新事件将在定时器发生 N+1 次上溢或下溢时发生.重复计数器的特性,在控制生成 PWM 信号时很有用. 2. ...
- 如何在Solidity中建立DAO(去中心化自治组织)?
本文将帮助您理解 DAO 的概念,并帮助您构建一个基本的 DAO. 什么是 DAO? 您可以将 DAO 视为基于互联网的实体(比如企业),由其股东(拥有代币和比例投票权的成员)共同拥有和管理.在 DA ...
- abp(net core)+easyui+efcore实现仓储管理系统——模块管理升级(六十)
Abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...
- [MAUI 项目实战] 手势控制音乐播放器(一): 概述与架构
这是一篇系列博文.请关注我,学习更多.NET MAUI开发知识! [MAUI 项目实战] 手势控制音乐播放器(一): 概述与架构 [MAUI 项目实战] 手势控制音乐播放器(二): 手势交互 [MAU ...
- php正则表达式大全/php正则表达式使用方法整理集合
匹配数字 "^\d+$" //非负整数(正整数 + 0) "[1][1-9][0-9]$" //正整数 "^((-\d+)|(0+))$" ...
- Spring配置数据库连接
<beans xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="ht ...
- Job for nginx.service failed because the control process exited with error code.
1. nginx启动报错: Job for nginx.service failed because the control process exited with error code. See & ...