Docker仓库(2):在保证镜像不丢失的前提下,升级Harbor版本

Harbor版本升级

背景:
原Harbor:1.2.0
待更新:1.8.0
过程:
由于harbor从v1.6.0版本开始,后端数据库由MariaDB改为Postgresql,所以在升级过程中,必须先升级到v1.6.0版本,再升级至v1.8.0。

v1.2.0 -> v1.6.0

该步骤中,由于数据库变更,所以需对数据库进行迁移。另外在升级过程中会改变数据库文件(database schema)以及harbor配置文件(harbor.cfg),所以必须做好备份工作,以备进行回滚操作。

一、低版本先升级到1.6.0

1、进入harbor文件夹,关闭harbor服务(/usr/local/harbor/harbor)

	[root@mariadb /]# cd /usr/local/harbor/harbor/
	[root@mariadb harbor]# docker-compose down -v

2、备份harbor程序以及数据库文件

	[root@mariadb /]# mv /usr/local/harbor/harbor/ /usr/local/harbor/harbor.1.2.0
	[root@mariadb /]# cp -rf /data/database/ /data/database.1.2.0

3、下载harbor:1.6.0

	wget https://storage.googleapis.com/harbor-releases/release-1.6.0/harbor-offline-installer-v1.6.0.tgz
	[root@mariadb /]# tar xzvf /usr/local/harbor/harbor-offline-installer-v1.6.0.tgz -C /usr/local/harbor/

4、下载备份工具和迁移工具(备份也可使用高版本的,最好是下载一个)

	docker pull goharbor/harbor-migrator:v1.2.0
	docker pull goharbor/harbor-migrator:v1.6.0

5、创建harbor配置文件备份文件夹,并且进行备份操作

	[root@mariadb ~]# cd /usr/local/harbor/
	[root@mariadb harbor]# mkdir harbor.migrate.v1.2.0
	[root@mariadb ~]# docker run -it --rm -e DB_USR=root -e DB_PWD=root123 -v /data/database:/var/lib/mysql -v /usr/local/harbor/harbor.1.2.0/harbor.cfg:/harbor-migration/harbor-cfg/harbor.cfg -v /usr/local/harbor/harbor.migrate.v1.2.0:/harbor-migration/backup goharbor/harbor-migrator:v1.2.0 backup

6、升级数据库,修改harbor配置文件,迁移数据

	[root@mariadb /]# docker run -it --rm -e DB_USR=root -e DB_PWD=root123 \
	-v /data/database:/var/lib/mysql \
	-v /usr/local/harbor/harbor.1.2.0/harbor.cfg:/harbor-migration/harbor-cfg/harbor.cfg \
	goharbor/harbor-migrator:v1.6.0 up

	[root@mariadb /]# mkdir /data/notary-db/

	[root@mariadb /]# docker run -it --rm -e DB_USR=root \
	-v /data/notary-db/:/var/lib/mysql \
	-v /data/database:/var/lib/postgresql/data goharbor/harbor-migrator:v1.6.0 --db up

	[root@mariadb /]# mkdir /data/clair-db/

	[root@mariadb /]# docker run -it --rm -e DB_PWD=root123\
	-v /data/clair-db/:/clair-db \
	-v /data/database:/var/lib/postgresql/data goharbor/harbor-migrator:v1.6.0 --db up

7、配置新版本的harbor.cfg文件,文件要和之前版本中的修改过的内容一致

	[root@mariadb /]# vim /usr/local/harbor/harbor/harbor.cfg 
		 7 hostname = hub.benet.com
		11 ui_url_protocol = https
		68 harbor_admin_password = pwd@123 #密码无所谓,建议使用一样的
	[root@mariadb harbor]# ./install.sh

8、升级完成后的效果
在这里插入图片描述
在这里插入图片描述

v1.6.0 -> v1.8.0

该步骤中,由于在v1.6.0版本之后,harbor会在启动服务时自行迁移数据库数据,所以无需再单独迁移数据库。

二、从1.6.0版本升级到1.8.0版本

1、关闭harbor服务

	[root@mariadb /]# cd /usr/local/harbor/harbor
	[root@mariadb harbor]# docker-compose down -v

2、备份harbor程序和数据库文件

	[root@mariadb /]# mv /usr/local/harbor/harbor /usr/local/harbor/harbor.1.6.0
	[root@mariadb /]# cp -rf /data/database /data/database.1.6.0/

3、下载1.8.0版本

	wget https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.0.tgz
	[root@mariadb /]# tar xzvf /usr/local/harbor/harbor-offline-installer-v1.8.0.tgz -C /usr/local/harbor/

4、下载迁移工具

	docker pull goharbor/harbor-migrator:v1.8.0

5、升级harbor配置文件并安装

	[root@mariadb /]# docker run -it --rm -v /usr/local/harbor/harbor.1.6.0/harbor.cfg:/harbor-migration/harbor-cfg/harbor.cfg -v /usr/local/harbor/harbor/harbor.yml:/harbor-migration/harbor-cfg-out/harbor.yml goharbor/harbor-migrator:v1.8.0 --cfg up

	[root@mariadb /]# cd /usr/local/harbor/harbor
	[root@mariadb harbor]# ./install.sh

6、升级完成后的效果
在这里插入图片描述
在这里插入图片描述

三、删除多余的配置文件

1、/data目录中备份的database.1.6.0和database.1.6.0
2、/usr/local/harbor目录中的harbor.1.2.0和harbor.migrate.v1.2.0
3、用到的各种压缩包和之前版本的docker镜像
4、注意:千万不要删除/usr/local/harbor/harbor.1.6.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

H . C . Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值