镜像迁移:如何将dockerhub上的镜像迁移到Harbor私

?????????????博主介绍:大家好!我是李大白,一名运维容器运维工程师,热爱分享知识????

????擅长领域:云原生、数据库、自动化运维

????????如果本文章对小伙伴们有帮助的话,????关注+????????点赞+????评论+????收藏!

????如果在文章描述时如有错,恳请各位大佬指正,在此感谢!!!

????落叶而知秋,博闻而强识!

???? 精品专栏:??Harbor大白话(企业级)??

目录

应用场景注册dockerhub账号命令行登录Dockerhub上传镜像到DockerHub在Harbor新建目标新建复制规则执行复制查看迁移详细结果查看迁移后的项目推荐阅读


应用场景

公司之前使用的是dockerhub作为镜像仓库,因业务发展需要,公司搭建了自己的harbor私有镜像仓库。之前存储在dockerhub上的镜像需要迁移到harbor中。

本篇文章以Harbor 2.3.5版本为演示环境,从”0“到”1“对整个迁移过程进行详细的操作和演示。

注册dockerhub账号

注册地址:??https://hub.docker.com/??

注册过程就不用我教了吧!

命令行登录Dockerhub

在命令行登录dockerub,

[root@lidabai harbor]# docker loginLogin with your Docker ID to push and pull images from Docker Hub. If you don’t have a Docker ID, head over to https://hub.docker.com to create one.Username: lidabai66Password: Error response from daemon: Get https://registry-1.docker.io/v2/: unauthorized: incorrect username or password

原因:用户名/密码错误

[root@lidabai harbor]# docker login -u lidabai66Password: WARNING! Your password will be stored unencrypted in /root/.docker/config.json.Configure a credential helper to remove this warning. Seehttps://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded

上传镜像到DockerHub

????:无需在dockerhub上创建项目。

[root@lidabai ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEredis alpine3.15 8a0942cae737 10 days ago 36.5MB[root@lidabai ~]# docker tag redis:alpine3.15 lidabai66/redis:alpine3.15 #给本地镜像打标签[root@lidabai ~]# docker push lidabai66/redis:alpine3.15 #将打好标签的镜像push到dockerhubThe push refers to repository [docker.io/lidabai66/redis]a34a517cda84: Mounted from library/redis c6ce8825d70e: Mounted from library/redis 3f9c5053c2fe: Mounted from library/redis af824220a3a6: Pushed dc57052270aa: Mounted from library/redis 4fc242d58285: Mounted from library/redis alpine3.15: digest: sha256:a22bc2d15940ae67680611827b3e9b69150d7c11c063415c3775c35d163bb555 size: 1571

然后在dockerhub上可以看到已经上传成功:

在Harbor新建目标

在harbor UI管理界面执行操作:

【系统管理】——>【仓库管理】——>【新建目标】——>【填写提供者(Docker Hub】——>【测试连接】——>【确定】

提供者:Docker Hub;

目标名:在DockerHub上注册的用户名;

目标URL:选择”提供者“后会默认填充;

访问ID:dockerhub注册的用户名,如果迁移的是dockerhub中的公有镜像,可不用填写”访问ID“

访问密码:dokcerhub用户的密码

验证远程证书: 自己手动生成的证书不可以勾选;

信息填写完成后点击”测试连接“,如果连接测试失败请检查用户名和密码是否正确。

新建复制规则

在创建复制策略时,如果想要拉取Docker Hub的官方镜像,比如hello-world、busybox等,则需要在源资源过滤器的名称过滤器中加上“library”前缀,如“library/hello-world”“library/busybox”“library/**”等。

如果名称过滤器为空或者被设置为“**”,而其他过滤器都保持默认值,则此复制策略将会拉取认证账户名下的所有镜像。

【触发模式】

手动:手动完成镜像的”复制/迁移“

定时:以计划任务的方式定时将dockerhub中的镜像迁移到Harbor

事件驱动:即触发,当新上传镜像到dockerHub中就会将该镜像复制到Harbor,可以为”增量模式“;

【资源过滤器】

如果dockerhub中的某些镜像不想迁移到Harbor,可在此填写相应的信息来实现不复制某些镜像。

在harbor UI管理界面执行操作:

【系统管理】-【复制管理】-【新建规则】-【

执行复制

在新建复制规则成功后,即可“手动”执行复制操作将dockerHub上的镜像复制到Harbor。

操作步骤:

选择创建的”复制规则“—>点击“复制”

然后点击【复制】进行确认:

观察【成功百分比】为100%表示全部迁移成功:

查看迁移详细结果

点击复制任务下的【ID】值可查看该复制任务的详细信息:

查看迁移后的项目

在【项目】处可以看到刚才迁移到Harbor的镜像,迁移过程会自动在Harbor创建一个项目来存放迁移后的镜像:

推荐阅读

??shell中获取Harbor中所有的镜像列表(超实用,建议收藏)??

??harbor密码丢失,忘记Harbor密码???

??Harbor一键部署——初学者如何快速了解它???

???k8s节点如何从Harbor中拉取镜像的?镜像拉取凭证的配置??

??Harbor镜像仓库漏洞扫描_如何检测你的镜像是否安全???

??Prometheus监控Harbor实战(全网首发)??

??Harbor配置优化,配置文件深度解析!??

??Harbor UI无法登录问题复现,原因令我匪夷所思??

??Helm部署Harbor,实现高可用的镜像仓库(超详细分享)~后附踩坑记录??

??如何维护好公司的Harbor服务,看完这篇小白也会维护Harbor了!??

??【Harbor故障排查篇】docker login连接被拒绝??

??shell中获取Harbor中所有的镜像列表(超实用,建议收藏)??

??Harbor高可用设计,使用外部数据库-详细到爆的操作步骤??

??多用户场景的Harbor,我是如何轻松管理的!??

??Harbor v2.5更新,都增加了哪些功能???

??用了这个工具,Harbor运维轻松搞定!??

??Harbor版本升级(图文并茂)??

???担心Harbor数据丢失?谈谈Harbor的备份和恢复方法。??

??Harbor版本升级(1.10.7—>2.0.x)??

既有美妙的风景,也会有称不上景只有风的地方。

镜像迁移:如何将dockerhub上的镜像迁移到Harbor私

相关文章:

你感兴趣的文章:

标签云: