Docker容器: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地址主要软件
服务端1192.168.198.11docker、docker-compose 、harbor-offline-v1.1.2
服务端2192.168.198.12docker、docker-compose 、harbor-offline-v1.1.2
客户端192.168.198.13docker

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

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

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

#查看相关容器是否启动,若未启动,需手动启动
docker ps -a
docker start 容器ID

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

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

#网页测试是否正常并登录查看源harbor已有的镜像
http://192.168.198.11

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

img

img

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

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

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

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

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可不修改,保存退出

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

cd /usr/local/harbor/
./prepare
./install.sh
#进入harbor目录执行脚本检查安装harbor
docker-compose ps

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

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

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

4.数据迁移

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

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

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

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

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

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

#将打包的镜像和日志移到新的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

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

已存在192.168.198.11上的镜像及日志

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

(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

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

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

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

docker images

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

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

[外链图片转存中...(img-bq0Hje6w-1693120481378)]

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自动化备份方案

背景说明 网上有很多教程,写的都是从零搭建一个什么什么,基本上都是从无到有的教程,但是,很少有文章提及搭建好之后如何备份,这次通过请教GitHub Copilot Chat,生成几个备份脚本,以备后用。 注…

功能强大的网站检测工具Web-Check

什么是 Web-Check ? Web-Check是一款功能强大的一体化工具,用于查找有关网站/主机的信息。目前仪表版上可以显示:IP 信息、SSL 信息、DNS 记录、cookie、请求头、域信息、搜索爬虫规则、页面地图、服务器位置、开放端口、跟踪路由、DNS 安全扩…

解决报错: Could not initialize class com.platform.cache.J2CacheUtils

今天运行一个比较久远的SSM项目,访问接口时报错: Could not initialize class com.platform.cache.J2CacheUtils 找了半天也没有发现问题所在,突然发现报错里面有ShiroFilter字样,然后想起以前shiro好像是要跟redis对接&#xff0…

css滚动条的使用

前言: css滚动条的使用。 1、使用案例1:背景不要,只展示一个滚动条 如果是默认整体,::就够用了,如果是某个元素,可以 .abc:: ,如果是scss这种的 &:: ::-webkit-scrollbar {width: 6px; } ::-webkit…

mysql下载

网址 MySQL :: Download MySQL Community Serverhttps://dev.mysql.com/downloads/mysql/ 2、选择MSI进行安装 3、这里我选择离线安装 4、这里我选择直接下载 5、等待下载安装即可

怎么对App进行功能测试

测试人员常被看作是bug的寻找者,但你曾想过他们实际是如何开展测试的吗?你是否好奇他们究竟都做些什么,以及他们如何在一个典型的技术项目中体现价值?本文将带你经历测试人员的思维过程,探讨他们测试app时的各种考虑. …

ArcGIS API开发介绍

本来想自己总结写一下的,但是发现有个网站总结的特别好。所以直接给大家分享一下地址: 起步 - Start | ArcGis中文网 当然系统性的学习和使用还的看官网文档Quick Links | API Reference | ArcGIS Maps SDK for JavaScript 4.27 | ArcGIS Developers …

Nuxt 菜鸟入门学习笔记三:视图

文章目录 入口文件组件 Components页面 Pages布局 Layouts Nuxt 官网地址: https://nuxt.com/ Nuxt 提供多个组件层来实现应用程序的用户界面。 入口文件 App.vue组件 Components页面 Pages布局 Layouts 下面逐一进行介绍。 入口文件 默认情况下,Nu…

时序预测 | MATLAB实现DBN-SVM深度置信网络结合支持向量机时间序列预测(多指标评价)

时序预测 | MATLAB实现DBN-SVM深度置信网络结合支持向量机时间序列预测(多指标评价) 目录 时序预测 | MATLAB实现DBN-SVM深度置信网络结合支持向量机时间序列预测(多指标评价)效果一览基本描述程序设计参考资料 效果一览 基本描述 MATLAB实现DBN-SVM深度置信网络结合支持向量机…

Go语言入门记录:从基础到变量、函数、控制语句、包引用、interface、panic、go协程、Channel、sync下的waitGroup和Once等

程序入口文件的包名必须是main,但主程序文件所在文件夹名称不必须是main,即我们下图hello_world.go在main中,所以感觉package main写顺理成章,但是如果我们把main目录名称改成随便的名字如filename也是可以运行的,所以…

印花税减半!上次调整A股全部涨停

财政部、税务总局公告,为活跃资本市场、提振投资者信心,自2023年8月28日起,证券交易印花税实施减半征收。 值得一提的是,8月初,证券时报、经济日报、央广网等三大官媒共同发声,为活跃资本市场、提振投资者信…

echart 图表添加数据分析功能,(右上控制选择)

echart 图表添加数据分析功能,可区域选择数据,右上按钮,控制echart行为 chart.on(globalcursortaken, onGlobalcursortaken); //绑定事件chart.off("brushSelected");//解绑事件处理函数chart.on(brushSelected, renderBrushed);getBarDev2(eIndex, eTimeArr, eSerie…

RISC-V IOPMP实际用例-Andes SoC‘s Rapid-k模型

安全之安全(security)博客目录导读 2023 RISC-V中国峰会 安全相关议题汇总 说明:本文参考RISC-V 2023中国峰会如下议题,版权归原作者所有。

GDB用法(一)

预备 测试代码 main.cpp #include <iostream> #include <vector> #include "student.h"using namespace std;int add(int a, int b) {return a b; }int main() {vector<int> v {1, 3};Student* s1 new Student("zz", 20);Student* …

电路学习+硬件每日学习十个知识点(40)23.8.20 (希腊字母读音,阶跃信号和冲激信号的关系式,信号的波形变换,信号的基本运算,卷积积分,卷积和)

文章目录 1.信号具有时间特性和频率特性。2.模拟转数字&#xff0c;抽样、量化、编码3.阶跃信号和冲激信号4.信号的波形变换&#xff08;时移、折叠、尺度变换&#xff09;5.信号的基本运算&#xff08;加减、相乘、微分与积分、差分与累加&#xff09;5.1 相加减5.2 相乘5.3 微…

Android JNI系列详解之AS创建Native C++项目

一、前提 Android Studio版本&#xff1a;Android Studio Electric Eel | 2022.1.1 Patch 1 二、创建Native C项目 1.新建项目 2.选择新建Native C项目 3.New Project 4.选择C标准库的支持版本 5.项目自带的默认生成的代码 6.buil.gradle中也自带了CMakeList的配置&#xff08;…

4、Spring之Bean生命周期源码解析(创建)

Spring最重要的功能就是帮助程序员创建对象(也就是IOC),而启动Spring就是为创建Bean对象做准备,所以我们先明白Spring到底是怎么去创建Bean的,也就是先弄明白Bean的生命周期。 Bean的生命周期就是指:在Spring中,一个Bean是如何生成的,如何销毁的。 Bean生命周期流程图…

微服务dubbo

微服务是一种软件开发架构风格&#xff0c;它将一个应用程序拆分成一组小型、独立的服务&#xff0c;每个服务都可以独立部署、管理和扩展。每个服务都可以通过轻量级的通信机制&#xff08;通常是 HTTP/REST 或消息队列&#xff09;相互通信。微服务架构追求高内聚、低耦合&am…

Matlab图像处理-乘法运算

乘法运算 两幅图像进行乘法运算主要实现两个功能&#xff1a; 一是可以实现掩模操作&#xff0c;即屏蔽图像的某些部分&#xff1b; 二是如果一幅图像乘以一个常数因子&#xff0c;如果常数因子大于1&#xff0c;将增强图像的亮度&#xff0c;如果因子小于1则会使图像变暗。…

二、数学建模之整数规划篇

1.定义 2.例题 3.使用软件及解题 一、定义 1.整数规划&#xff08;Integer Programming&#xff0c;简称IP&#xff09;&#xff1a;是一种数学优化问题&#xff0c;它是线性规划&#xff08;Linear Programming&#xff0c;简称LP&#xff09;的一个扩展形式。在线性规划中&…