5

镜像迁移:如何将dockerhub上的镜像迁移到Harbor私有镜像仓库中?

 2 years ago
source link: https://blog.51cto.com/lidabai/5283232
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

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

🙏🏻如果本文章对小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏!

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

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

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

镜像迁移:如何将dockerhub上的镜像迁移到Harbor私有镜像仓库中?_harbor

目录

  • 注册dockerhub账号
  • 命令行登录Dockerhub
  • 上传镜像到DockerHub
  • 在Harbor新建目标
  • 新建复制规则
  • 查看迁移详细结果
  • 查看迁移后的项目

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

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

注册dockerhub账号

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

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

镜像迁移:如何将dockerhub上的镜像迁移到Harbor私有镜像仓库中?_镜像_02

命令行登录Dockerhub

在命令行登录dockerub,

[root@lidabai harbor]# docker login
Login 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: lidabai66
Password:
Error response from daemon: Get https://registry-1.docker.io/v2/: unauthorized: incorrect username or password

原因:用户名/密码错误

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

Login Succeeded

镜像迁移:如何将dockerhub上的镜像迁移到Harbor私有镜像仓库中?_云原生_03

上传镜像到DockerHub

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

[root@lidabai ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis 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到dockerhub
The 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_04

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

镜像迁移:如何将dockerhub上的镜像迁移到Harbor私有镜像仓库中?_harbor_05

在Harbor新建目标

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

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

 提供者:Docker Hub;

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

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

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

 访问密码:dokcerhub用户的密码

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

镜像迁移:如何将dockerhub上的镜像迁移到Harbor私有镜像仓库中?_运维_06

镜像迁移:如何将dockerhub上的镜像迁移到Harbor私有镜像仓库中?_云原生_07

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

镜像迁移:如何将dockerhub上的镜像迁移到Harbor私有镜像仓库中?_harbor_08

新建复制规则

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

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

【触发模式】

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

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

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

【资源过滤器】

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

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

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

镜像迁移:如何将dockerhub上的镜像迁移到Harbor私有镜像仓库中?_harbor_09

镜像迁移:如何将dockerhub上的镜像迁移到Harbor私有镜像仓库中?_运维_10

镜像迁移:如何将dockerhub上的镜像迁移到Harbor私有镜像仓库中?_云原生_11

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

操作步骤:

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

镜像迁移:如何将dockerhub上的镜像迁移到Harbor私有镜像仓库中?_harbor_12

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

镜像迁移:如何将dockerhub上的镜像迁移到Harbor私有镜像仓库中?_镜像_13

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

镜像迁移:如何将dockerhub上的镜像迁移到Harbor私有镜像仓库中?_harbor_14

查看迁移详细结果

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

镜像迁移:如何将dockerhub上的镜像迁移到Harbor私有镜像仓库中?_云原生_15

查看迁移后的项目

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

镜像迁移:如何将dockerhub上的镜像迁移到Harbor私有镜像仓库中?_docker_16

 ​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私有镜像仓库中?_云原生_17


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK