Docker:Harbor 私有仓库迁移

news2024/10/6 10:28:04

Harbor 私有仓库迁移

一.私有仓库迁移的介绍

1.为何要对Harbor 私有仓库的迁移

(1)硬件升级或更换:如果源 Harbor 在旧的硬件设备上运行,并且计划将其迁移到新的硬件设备上,那么需要执行迁移操作。

(2)数据中心迁移:当需要将 Harbor 私有仓库从一个数据中心迁移到另一个数据中心时,例如迁移到不同的地理位置或云服务提供商的平台,迁移操作将是必需的。

(3)版本升级:当计划升级 Harbor 版本时,需要进行迁移操作以保留现有的私有仓库数据和设置。

(4)容量扩展:如果源 Harbor 的存储空间已经不足,或者需要将 Harbor 扩展到更大的存储系统上,那么迁移操作是必要的。

总:通过进行 Harbor 私有仓库的迁移操作,可以确保将存储的镜像、仓库配置和认证信息等重要数据安全地迁移到新的环境中,以保证 Harbor 的正常运行和用户访问的连续性。此外,在迁移过程中可以对旧的配置进行优化和调整,提高 Harbor 的性能和可靠性。

2.Harbor 私有仓库的迁移特点

(1)镜像迁移:Harbor 私有仓库是用来存储 Docker 镜像的,迁移操作主要涉及将源仓库中的镜像迁移到目标仓库中。这是迁移过程的核心部分,需要保证镜像的完整性和正确性。

(2)配置文件迁移:迁移 Harbor 还涉及将源仓库的配置文件迁移到目标仓库中,以确保在目标环境中正确配置相应的参数。

(3)认证和授权信息迁移:私有仓库可能涉及用户认证和授权机制,迁移过程中需要保证用户和权限信息的迁移,以便用户在目标环境中正常访问和管理仓库。

(4)数据一致性和可用性:迁移过程中,需要确保迁移的镜像和相关数据在源仓库和目标仓库之间的一致性和可用性。这可以通过对迁移过程进行验证和测试来实现。

(5)同步迁移和增量迁移:可以根据迁移需求选择同步迁移或增量迁移的方式。同步迁移是将整个仓库数据一次性迁移到目标环境中,适用于大规模迁移。增量迁移是将只增量部分的镜像和数据迁移到目标环境中,适用于部分镜像的迁移或者迁移时间较长的情况。

总:Harbor 私有仓库的迁移涉及到镜像、配置文件、认证和授权信息等的迁移,需要保证数据的一致性和可用性,同时需要选择合适的迁移方式和进行验证和测试,以保证迁移的成功和稳定性。

3. Harbor 私有仓库的迁移注意要点

(1)目标环境的网络和存储条件是否满足 Harbor 所需的条件。

(2)迁移的 Docker 镜像数量和大小,以及所需要的时间和带宽。

(3)是否需要对 Harbor 配置文件进行更改,以适应新环境中的不同配置。

(4)用户访问新的容器镜像仓库时,是否会对应用程序或脚本造成影响。

二.私有仓库迁移配置

主机IP地址主要软件
服务端1192.168.27.21docker、docker-compose 、harbor-offline-v1.1.2
服务端2192.168.27.20docker、docker-compose 、harbor-offline-v1.1.2
客户端192.168.27.22docker

1.源Harbor配置(192.168.27.21)

此处配置参考https://blog.csdn.net/weixin_58580419/article/details/132537214?spm=1001.2014.3001.5502

(1)接着以下操作查看容器状况及是否可以登录 Harbor WEB UI 界面

#关闭防火墙
systemctl stop firewalld
setenforce 0
cd /usr/local/harbor/
#查看容器的启动状况,如不是up状态需手动启动
docker-compose ps
docker-compose up

在这里插入图片描述

#查看相关容器是否启动,若未启动,需手动启动
docker ps -a
docker start 容器ID
#网页测试是否正常并登录查看源harbor已有的镜像
http://192.168.27.21

在这里插入图片描述

测试登录私有仓库是否正常并查看相关镜像
docker login -u admin -p Harbor12345  http://127.0.0.1
docker images

在这里插入图片描述

2.客户端配置(192.168.27.22)

(1)查看客户端状态

#关闭防火墙
systemctl stop firewalld
setenforce 0

此处配置参考https://blog.csdn.net/weixin_58580419/article/details/132537214?spm=1001.2014.3001.5502

接着以下操作查看容器是否可以登录到harbor端的私有仓库

docker login -u admin -p Harbor12345 http://192.168.27.21

在这里插入图片描述

3.新harbor服务器配置(192.168.198.12)

(1)安装docker容器并下载centos7镜像

#关闭防火墙
systemctl stop firewalld.service
setenforce 0
#修改新harbor主机名,区分新旧
hostnamectl set-hostname harbor01
su
#安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2 
#设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
#安装 Docker-CE并设置为开机自动启动
yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker.service
systemctl enable docker.service 
docker pull centos:7

(2)部署docker-compose

curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#下载docker-compose包
chmod +x /usr/local/bin/docker-compose
#添加权限
docker-compose --version
#查看版本

(3)部署Harbor服务

cd /opt
tar zxvf harbor-offline-installer-v1.2.2.tgz -C /usr/local/
#将harbor压缩包传到/opt目录下,解压到/usr/local目录下
#此处可直接将旧的配置文件发过来,也可自己再手动配置
cp /usr/local/harbor/harbor.cfg harbor.cfg.bak
vim /usr/local/harbor/harbor.cfg
#修改harbor配置文件内容如下
hostname = 192.168.27.20
#第5行修改,设置为Harbor服务器的IP地址或者域名
harbor_admin_password = Harbor12345
第59行指定管理员的初始密码,默认的用户名/密码是admin/Harbor12345可不修改,保存退出
cd /usr/local/harbor/
./prepare
./install.sh
#进入harbor目录执行脚本检查安装harbor
docker-compose ps

在这里插入图片描述

#登录测试,查看并未有镜像
http://192.168.27.20

在这里插入图片描述

4.数据迁移

(1)Harbor迁移需要迁移镜像和日志(192.168.198.11)

#在源harbor上面查看镜像存储路径和日志存储路径
cd /usr/local/harbor
#在目录打开docker-compose.yuml文件
vim docker-compose.yuml

在这里插入图片描述

#进入两个目录中打包所有的资源
cd /data/registry/
tar -cf new.tar.gz ./*
cd /data/database/
tar -cf new1.tar.gz ./*

在这里插入图片描述

#将打包的镜像和日志移到新的harbor上
cd /data/registry/
scp new.tar.gz 192.168.27.20:/data/registry/
cd /data/database/
scp new1.tar.gz 192.168.27.20:/data/database/

(2)新的Harbor(192.168.27.20)

#进入相关目录将其解压
cd /data/registry/
tar -xvf new.tar.gz
cd /data/database/
tar -xvf new1.tar.gz
#解压后重启
cd /usr/local/harbor/
docker-compose restart
#登录查看是否已存在
http://192.168.27.20

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jt0VF62e-1693232281195)(C:\Users\zhao\AppData\Roaming\Typora\typora-user-images\image-20230827132651569.png)]

已存在192.168.27.21上的镜像及日志

在这里插入图片描述

(3)客户端登录新的Harbor(192.168.27.22)

#进入配置文件修改地址
vim /usr/lib/systemd/system/docker.service
#第13行
ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 192.168.27.20 --containerd=/run/containerd/containerd.sock

在这里插入图片描述

#重启
systemctl daemon-reload
systemctl restart docker.service
#登录新的Harbor,登录成功
docker login -u admin -p Harbor12345 http://192.168.27.20

在这里插入图片描述

docker images

在这里插入图片描述

#测试在源Harbor上面创建的用户登录,登录成功
docker login -u ambrose -p Harbor12345 http://192.168.27.21

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/942142.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

17万字集团大数据平台整体方案word

导读:原文《17万字集团大数据平台整体方案word》(获取来源见文尾),本文精选其中精华及架构部分,逻辑清晰、内容完整,为快速形成售前方案提供参考。以下是部分内容, 1.1.1 总体目标 根据集团信…

第八章 贪心算法 part03 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果 (day34补)

本文章代码以c为例! 一、力扣第1005题:K 次取反后最大化的数组和 题目: 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择…

【如何对公司网络进行限速?一个案例详解】

有不少朋友问到了关于企业网络QoS配置,这个确实在实际网络应用中非常多,基本上大部分企业或个人都用到这个功能,本期我们详细了解下QoS如何对宽带进行限制,QoS如何企业中应用。 一、什么是QoS? Qos是用来解决网络延迟和阻塞等问…

JavaScript—BOM

BOM是什么? Browser Object Model是浏览器对象模型 官方:浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构,BOM由多个对象构成,其中代表浏览器窗口的window对象是BOM的顶层对象,其他对象都是该…

SSM(Spring+SpringMVC+MyBatis)整合

目录 1、提出问题 2、解决问题 3、相关文件 1、提出问题 SSM(SpringSpringMVCMyBatis)的开发,MyBatis在没有与Spring和SpringMVC整合的时候,是单独使用,单独配置。 Spring和SpringMVC的整合是无缝衔接的&#xff0…

听力和阅读都是6.5分,写作和口语6分,最后评分会是多少分

听力和阅读都是6.5分,写作和口语6分,最后评分会是多少分 根据雅思评分标准,每个模块的分数将会被四舍五入到0.5分的精度。在你的情况下,如果听力和阅读都是6.5分,写作和口语都是6分,那么你的最终雅思总分将…

JVM下篇知识

第01章:概述篇 第02章:JVM监控及诊断工具-命令行篇 第03章:JVM监控及诊断工具-GUI篇 第04章:JVM运行时参数 第05章:分析GC日志

【腾讯云 TDSQL-C Serverless 产品测评】- 云原生时代的TDSQL-C MySQL数据库技术实践

一、活动介绍: “腾讯云 TDSQL-C 产品测评活动”是由腾讯云联合 CSDN 推出的针对数据库产品测评及产品体验活动,本次活动主要面向 TDSQL-C Serverless版本,初步的产品体验或针对TDSQL-C产品的自动弹性能力、自动启停能力、兼容性、安全、并发…

18.神奇导航菜单指示器

效果 源码 <!DOCTYPE html> <html> <head> <title>Magic Menu Indicator | 03</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body><div class="navig…

时序预测 | MATLAB实现基于PSO-LSTM、LSTM时间序列预测对比

时序预测 | MATLAB实现基于PSO-LSTM、LSTM时间序列预测对比 目录 时序预测 | MATLAB实现基于PSO-LSTM、LSTM时间序列预测对比效果一览基本描述程序设计参考资料 效果一览 基本描述 MATLAB实现基于PSO-LSTM、LSTM时间序列预测。 1.Matlab实现PSO-LSTM和LSTM神经网络时间序列预测…

QT下使用ffmpeg+SDL实现音视频播放器,支持录像截图功能,提供源码分享与下载

前言&#xff1a; SDL是音视频播放和渲染的一个开源库&#xff0c;主要利用它进行视频渲染和音频播放。 SDL库下载路径&#xff1a;https://github.com/libsdl-org/SDL/releases/tag/release-2.26.3&#xff0c;我使用的是2.26.3版本&#xff0c;大家可以自行选择该版本或其他版…

【数据结构大全】你想要的都有,数组、链表、堆栈、二叉树、红黑树、B树、图......

目录 1.概述 2.线性结构 3.时间复杂度 4.查找算法 5.树 6.图 1.概述 博主之前写过一个完整的关于数据结构的系列文章&#xff0c;一共十三篇&#xff0c;内容包含&#xff0c;数组、链表、堆栈、队列、时间复杂度、顺序查找、二分查找、二叉树、二叉搜索树、平衡二叉树、…

【Android-Flutter】我的Flutter开发之旅

目录: 0、文档&#xff1a;1、在Windows上搭建Flutter开发环境&#xff08;1&#xff09;[使用中国镜像(❌详细看官方文档)](https://docs.flutter.dev/community/china)&#xff08;2&#xff09;[下载最新版Flutter SDK&#xff08;已包含Dart&#xff09;](https://docs.flu…

从项目中突显技能:在面试中讲述你的编程故事

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

华为数通方向HCIP-DataCom H12-821题库(单选题:141-160)

第141题 Router-LSA 能够描述不同的链路类型&#xff0c;不属于Router LSA 链路类型的是以下哪一项? A、Link Type 可以用来描述到末梢网络的连接&#xff0c;即 SubNet B、Link Type 可以用来描述到中转网络的连接&#xff0c;即 TranNet C、Link Type 可以用来描述到另一…

16.CSS菜单悬停特效

效果 源码 <!DOCTYPE html> <html> <head> <title>Creative Menu Item Hover Effects</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body><section><…

Vue项目中app.js过大,导致web初始化加载过慢问题

1、删除多余不需要的库&#xff1a; npm uninstall xxx 如例如moment库文件是很大的可以直接放到index.html文件直接CDN引入 2、修改/config/index.js配置文件&#xff1a;将productionGzip设置为false ​ 3、设置vue-router懒加载 懒加载配置&#xff1a; ​ 非懒加载配置&…

winpe使用AOMEI Backupper备份磁盘和操作系统

winpe系统说明 我们可以将winpe制作成再u盘启动&#xff1b; 我们可以在winpe上安装备份磁盘和操作的软件AOMEI Backupper&#xff1b; 磁盘备份和系统备份软件 AOMEI Backupper 直接双击exe即可 选择磁盘备份 点击添加磁盘 选择磁盘&#xff0c;点击添加 点击开始备份&…

django中使用websocket

python本身只支持http协议 使用websocket需要下载第三方库 pip install -U channels 需要在seting.py里配置&#xff0c;将我们的channels加入INSTALLED_APP里。 INSTALLED_APPS ( django.contrib.auth, django.contrib.contenttypes, django.contrib.sessions, …

扩散模型实战(七):Diffusers蝴蝶图像生成实战

推荐阅读列表&#xff1a; 扩散模型实战&#xff08;一&#xff09;&#xff1a;基本原理介绍 扩散模型实战&#xff08;二&#xff09;&#xff1a;扩散模型的发展 扩散模型实战&#xff08;三&#xff09;&#xff1a;扩散模型的应用 扩散模型实战&#xff08;四&#xf…