昨天在家部署了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的更多相关文章

  1. Docker学习系列(三)Docker搭建gitlab的两种方式

    一.直接下载docker-ce 1.拉取gitlab/gitlab-ce Randy:~ Randy$ docker pull gitlab/gitlab-ce Using default tag: ...

  2. docker 安装 gitlab

    基于Docker部署GitLab环境搭建 建议虚拟机内存2G以上 1.下载镜像文件 docker pull beginor/gitlab-ce:11.0.1-ce.0 注意:一定要配置阿里云的加速镜像 ...

  3. 使用Docker部署Gitlab

    由于公司的代码server已使用Gitosis搭建,但由于用户和权限管理太麻烦. 如今想在原有server上再搭建Gitlab,使用Gitlab官方方法直接安装. 会导致与Gitosis冲突,使得Gi ...

  4. 基于Docker的GitLab搭建

    今天写一些Docker搭建GitLab,好久没有写博客园了,今天又回来了,为了学习技术? 建议使用Linux内核系统,或者虚拟机,首先安装docker环境(菜鸟教程) 一.下载镜像文件 如果慢的话,可 ...

  5. Docker安装Gitlab

    一.Ubuntu16.4上Docker安装Gitlab 1.安装docker 参见:https://docs.docker.com/engine/installation/linux/ubuntuli ...

  6. centos7 docker升级到最新稳定版本

    原文:centos7 docker升级到最新稳定版本 一.前言 docker的版本分为社区版docker-ce和企业版dokcer-ee社,区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外 ...

  7. Windows 下 docker 部署 gitlab ci

    一.安装 1. 安装 docker Docker下载 注意:Windows 10 家庭版获取 之前的版本不能直接安装 Docker ,而是需要去安装 Docker Toolbox 我这里安装的是 Do ...

  8. Docker install GitLab

    示范一下如何透过Docker安装GitLab,也顺便将一些常用的东西纪录一下 作业系统: CentOS 7 安装Docker CE 1. 先移除系统上预先安装的Docker旧版本 yum remove ...

  9. docker搭建gitlab服务器(Centos7)

    系统环境:CentOS Linux release 7.6.1810 (Core) git版本:gitlab/gitlab-ce 一.安装和启动docker 见HTTPRUNNERMANAGER安装部 ...

  10. Centos7使用docker搭建gitlab服务器

    了解到docker的优点,搭建快,运行要求资源低,最重要的是实现的功能和效果都能达到预期,于是决定使用docker来搭建gitlab服务器. 效果图如下: 系统环境:CentOS Linux rele ...

随机推荐

  1. 认识流媒体协议,从 RTSP 协议解析开始!

    RTSP 是 Internet 协议规范,是 TCP/IP 协议体系中的一个应用层协议级网络通信系统.专为娱乐(如音频和视频)和通信系统的使用,以控制流媒体服务器.该协议用于在端点之间建立和控制媒体会 ...

  2. 卡特兰路径和q,t-enumeration 学一半的笔记

    目录 卡特兰 The1st q-analogue of \(C_n\) The 2nd q-analogue of \(C_n\) /定义\(C_n(q)\) The q-Vandermonde co ...

  3. Zab(Zookeeper Atomic Broadcast)协议

    更多内容,前往IT-BLOG 一.什么是 Zab协议 Zab( Zookeeper Atomic Broadcast:Zookeeper原子广播)Zookeeper 通过 Zab 协议保证分布式事务的 ...

  4. CSS in JS (JSS)

    JSS 是什么 简单来说,一句话概括CSS in JS (JSS),就是"行内样式"(inline style)和"行内脚本"(inline script). ...

  5. 第一部分:介绍 Spdlog 日志库

    什么是 Spdlog 日志库 Spdlog 是一个 C++ 的日志库,它具有高效.易用.跨平台等特点.它可以写入到控制台.文件等输出目标,支持多种日志级别.多线程安全等功能,非常适合在 C++ 项目中 ...

  6. MarkdownStudy03JDK

    卸载JDK 删除jdk文件夹 删除配置环境(计算机>属性>高级>系统变量中的JAVA_HOME和Path) 删除JAVA_HOME环境变量 删除path环境变量 用dos窗口查看是否 ...

  7. Thread 线程中的 Synchronized block and lock

    Thread Definition of Synchronized Synchronized block in java are marked with the synchronized keywor ...

  8. Vulnhub Joy Walkthrough

    Recon 这台靶机对枚举的要求较高,如果枚举不出有用的信息可能无法进一步展开,我们首先进行普通的扫描. ┌──(kali㉿kali)-[~/Labs/Joy/80] └─$ sudo nmap -s ...

  9. 基于Python的爬虫案例

    案例1:使用爬虫爬取京东华为手机用户评论 本案例借鉴哔哩哔哩博客主视频教程,感谢其教程为我开启了爬虫之旅:https://www.bilibili.com/video/BV1Yt4y1Y7nt?t=3 ...

  10. Ubuntu Server搭建个人服务器

    Ubuntu Server20.04.5 LTS [参考资料] Ubuntu官方地址:https://www.ubuntu.com/ Ubuntu论坛地址:https://ubuntuforums.o ...