Harbor 私有仓库迁移
文章目录
- 一.私有仓库迁移的介绍
- 1.为何要对Harbor 私有仓库的迁移
- 2.Harbor 私有仓库的迁移特点
- 3. Harbor 私有仓库的迁移注意要点
- 二.私有仓库迁移配置
- 1.源Harbor配置(192.168.198.11)
- (1)接着以下操作查看容器状况及是否可以登录 Harbor WEB UI 界面
- 2.客户端配置(192.168.198.13)
- (1)查看客户端状态
- 3.新harbor服务器配置(192.168.198.12)
- (1)安装docker容器并下载centos7镜像
- (2)部署docker-compose
- (3)部署Harbor服务
- 4.数据迁移
- (1)Harbor迁移需要迁移镜像和日志(192.168.198.11)
- (2)新的Harbor(192.168.198.12)
- (3)客户端登录新的Harbor(192.168.198.13)
一.私有仓库迁移的介绍
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地址 | 主要软件 |
---|---|---|
服务端1 | 192.168.198.11 | docker、docker-compose 、harbor-offline-v1.1.2 |
服务端2 | 192.168.198.12 | docker、docker-compose 、harbor-offline-v1.1.2 |
客户端 | 192.168.198.13 | docker |
1.源Harbor配置(192.168.198.11)
此处配置参考https://blog.csdn.net/Katie_ff/article/details/132498162?spm=1001.2014.3001.5501
(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.198.11
测试登录私有仓库是否正常并查看相关镜像
docker login -u admin -p Harbor12345 http://127.0.0.1
docker images
2.客户端配置(192.168.198.13)
(1)查看客户端状态
#关闭防火墙
systemctl stop firewalld
setenforce 0
此处配置参考https://blog.csdn.net/Katie_ff/article/details/132498162?spm=1001.2014.3001.5501
接着以下操作查看容器是否可以登录到harbor端的私有仓库
docker login -u admin -p Harbor12345 http://192.168.198.11
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.198.12
#第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.198.12
4.数据迁移
(1)Harbor迁移需要迁移镜像和日志(192.168.198.11)
#在源harbor上面查看镜像存储路径和日志存储路径
cd /usr/local/harbor
#在目录打开docker-compose.yml文件
vim docker-compose.yml
#进入两个目录中打包所有的资源
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.198.12:/data/registry/
cd /data/database/
scp new1.tar.gz 192.168.198.12:/data/database/
(2)新的Harbor(192.168.198.12)
#进入相关目录将其解压
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.198.12
已存在192.168.198.11上的镜像及日志
(3)客户端登录新的Harbor(192.168.198.13)
#进入配置文件修改地址
vim /usr/lib/systemd/system/docker.service
#第13行
ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 192.168.198.12 --containerd=/run/containerd/containerd.sock
#重启
systemctl daemon-reload
systemctl restart docker.service
#登录新的Harbor,登录成功
docker login -u admin -p Harbor12345 http://192.168.198.12
docker images
#测试在源Harbor上面创建的用户登录,登录成功
docker login -u summer -p Harbor12345 http://192.168.198.12
`
相关文章:

Harbor 私有仓库迁移
文章目录 一.私有仓库迁移的介绍1.为何要对Harbor 私有仓库的迁移2.Harbor 私有仓库的迁移特点3. Harbor 私有仓库的迁移注意要点 二.私有仓库迁移配置1.源Harbor配置(192.168.198.11)(1)接着以下操作查看容器状况及是否可以登录 …...

制造业物联网革命:智慧工厂数据采集与远程监控管理
智慧工厂是指运用现代信息技术和物联网技术,实现制造业生产过程的智能数字化。智慧工厂的工业设备不仅能够自动化运行,还可以通过网络技术帮助企业实现数据采集、远程监控与管理。4G工业网关便成为了智慧工厂通讯的重要组成部分,起到了连接工…...

软考A计划-网络工程师-复习背熟-网络管理和计算机基础知识
点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…...

springBoot打印精美logo
文章目录 🐒个人主页🏅JavaEE系列专栏📖前言:🎀文本logo 🐒个人主页 🏅JavaEE系列专栏 📖前言: 本篇博客主要以提供springBoot打印精美logo 🎀文本logo ??…...

kali开启SSH服务(简单无比)
我会一直陪着你 1.切换到管理员用户:2.启动SSH服务3.要在Kali Linux上启用SSH服务并修改配置文件,你可以按照以下步骤进行操作:4.查看SSH服务状态是否正常运行,命令为:注意:配置文件有些地方不同࿰…...
Ubuntu20.04如何更换国内源-阿里云源
1.备份源文件 cp /etc/apt/sources.list /etc/apt/sources.list.bak 2.打开源文件,注释默认的源 vim /etc/apt/sources.list ## 注释原本内容 # deb http://mirrors.ivolces.com/ubuntu/ focal main restricted universe multiverse # deb-src http://mirrors.ivolc…...
goland设置
1、go file设置 file->setting->Editor->File and Code Templates->Go File package ${GO_PACKAGE_NAME} /** * description: * author:${USER} * date:${YEAR}/${MONTH}/${DAY} ${HOUR}:${MINUTE} * Versio…...
2023年Java核心技术第十篇(篇篇万字精讲)
目录 十九 . 一个线程两次调用start()方法会出现什么情况?线程的生命周期和状态转移。 19.1 典型回答 19.1.1 线程生命周期: 19.1.2 计时等待详细解释: 19.2 深入扩展考察 19.2.1 线程是什么? 19.2.2 Green…...

分享一篇关于如何使用BootstrapVue的入门指南
你想轻松地创建令人惊叹且响应式的在线应用程序吗?使用BootstrapVue,您可以快速创建美观且用户友好的界面。这个开源工具包是基于Vue.js和Bootstrap构建的,非常适合开发现代Web应用程序。本文将介绍其基础知识,让您可以开始使用这…...
【1day】复现Cellular Router命令执行漏洞
目录 一、漏洞描述 二、影响版本 三、资产测绘 四、漏洞复现 一、漏洞描述 移动路由器(Cellular Router)是一种利用移动网络提供无线互联网连接的设备。它们类似于传统路由器,但不同于使用有线连接(如以太网或DSL)...
【Torch API】pytorch 中repeat_interleave函数详解
torch.repeat_interleave(input, repeats, dimNone) → Tensor Repeat elements of a tensor. Parameters input (Tensor) – the input tensor. repeats (Tensor or int) – The number of repetitions for each element. repeats is broadcasted to fit the shape of the …...

TDesign表单rules通过函数 实现复杂逻辑验证输入内容
Element ui 中 我们可以通过validator 绑定函数来验证一些不在表单model中的值 又或者处理一下比较复杂的判断逻辑 TDesign也有validator 但比较直观的说 没有Element那么好用 这里 我们给validator绑定了我们自己的checkAge函数 这个函数中 只有一个参数 value 而且 如果你的…...
springgateway网关修改响应后,部分中文乱码问题
原因 是因为响应体过大,开启了压缩,数据分段进行响应得,导致处理返回体得时候乱码 解决方式 Overridepublic Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {ServerHttpRequest request exchange.getR…...

微信开发之一键发布群公告的技术实现
简要描述: 设置群公告 请求URL: http://域名地址/setChatRoomAnnouncement 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必…...

R语言和Python用泊松过程扩展:霍克斯过程Hawkes Processes分析比特币交易数据订单到达自激过程时间序列...
全文下载链接:http://tecdat.cn/?p25880 本文描述了一个模型,该模型解释了交易的聚集到达,并展示了如何将其应用于比特币交易数据。这是很有趣的,原因很多。例如,对于交易来说,能够预测在短期内是否有更多…...

自动化运维:Ansible脚本之playbook剧本
目录 一、理论 1.playbooks 2.YAML 3.使用ansible批量安装apache服务 4.定义、引用变量 5.指定远程主机sudo切换用户 6.when条件判断 7.迭代 8.Templates 模块 9.tags 模块 10.Roles 模块 二、实验 1.使用ansible批量安装apache服务 2.定义、引用变量…...
基于角色访问控制-RBAC(Role-Based Access Control)
1.RBAC简介 RBAC(Role-Based Access Control)是一种基于角色的访问控制模型,它是一种安全策略,用于限制系统中用户对资源的访问权限。RBAC模型的核心概念是用户角色和资源访问权限。 在角色访问控制中,首先需要定义系…...
springboot项目实现断点续传
java代码 package com.ruoyi.web.upload.controller; import com.ruoyi.web.upload.dto.FileChunkDTO; import com.ruoyi.web.upload.dto.FileChunkResultDTO; import com.ruoyi.web.upload.result.Result; import com.ruoyi.web.upload.service.IUploadService; import org.s…...

解析经典面试题:for 循环中的 let var
更多文章可以看看我的博客:https://icheng.github.io/ 题目 for循环中,使用 var 或 let 声明 i 变量,会得到不同的结果 var arr []; for (var i 0; i < 2; i) {arr[i] function () {console.log(i);} } arr[0](); arr[1]();输出&…...

CSS按钮-跑马灯边框
思路很简单,实现方法有很多很多。但是大体思路与实现方法都类似:渐变色 动画,主要区别在动画的具体实现 0、HTML 结构 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><titl…...

【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...

回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

相关类相关的可视化图像总结
目录 一、散点图 二、气泡图 三、相关图 四、热力图 五、二维密度图 六、多模态二维密度图 七、雷达图 八、桑基图 九、总结 一、散点图 特点 通过点的位置展示两个连续变量之间的关系,可直观判断线性相关、非线性相关或无相关关系,点的分布密…...

基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究
摘要:在消费市场竞争日益激烈的当下,传统体验营销方式存在诸多局限。本文聚焦开源AI智能名片链动2 1模式S2B2C商城小程序,探讨其在沉浸式体验营销中的应用。通过对比传统品鉴、工厂参观等初级体验方式,分析沉浸式体验的优势与价值…...