Harbor镜像同步

准备两台有docker的机器,这里是192.168.103.180和192.168.103.59。

以下是踩坑后终成正果的步骤!

目录

1,安装docker-compuse

2,下载并启动harbor

3,配置同步

4,如果不想占用主机80端口的话看这里

1,安装docker-compuse

我一开始下载的是1.25.4版本的,但是问题太多,最终选择和其他环境一样的版本1.23.2。

果断pip uninstall卸载掉并执行scp直接将其他机器的docker-compuse发到这两个机器下了。

2,下载并启动harbor

地址https://docs.rancher.cn/rancher2x/install-prepare/download/harbor.html#v1-10-2,这里选择1.7.6版本,大小很小,下载好后发放到主机下,执行

tar xvf harbor-online-installer-v1.7.6.tgz   解压,进入到主目录,修改配置文件harbor.cfg,将hostname这一项改为本机IP:

分别执行

./prepare

docker-compose -f docker-compose.yml up

启动harbor服务,如遇到端口占用等报错,修改docker-compose.yml文件ports字段的左边即可,第一行是http,默认80

到这里两台机器的Harbor服务就起来了,分别访问180、59这两个Harbor,左侧项目菜单,各创建一个新项目

h1-project、h2-project

3,配置同步

在180左侧菜单找仓库管理,新建目标如下:

用户名密码如果没改过的话就是admin/Harbor12345,写完各项参数后点测试连接,然后左侧复制管理:

名称随便写,源项目就写180这个服务自己的项目,也就是说同步哪个项目下的项目到59,模式选即刻,保存。

找一台有docker的主机,docker login 登录180,需先配置一下:

push一个镜像:

看看页面:

再看看59这边:

继续进h1-project项目看看是不是我们push的这个镜像:

这样我们push到仓库180的镜像就自动到了59上面,下次我可以不从180上拉,而是想从59上拉这个镜像:

大功告成!

4,如果不想占用主机80端口的话看这里

上面访问的时候用的80端口,直接是192.168.103.59就能访问harbor服务,现在改为加自定义端口访问,如192.168.103.59:8880

如需修改harbor服务的端口为自定义端口,以我这里的192.168.103.59这个harbor服务为例,操作如下:

在103.59节点上先停掉harbor服务,修改docker-compose.yml文件的ports字段,第一行即http访问的端口改为8880:

修改harbor目录下的./common/templates/registry/config.yml这个文件,图中红圈的前缀,改为ip+端口:

重启103.59这台机器的docker服务:

systemctl daemon-reload

systemctl restart docker.service

启动harbor服务:

docker-compose -f docker-compose.yml up

我需要在103.40节点上来登录和push镜像等操作,接下来登入103.40节点,修改其/etc/docker/daemon.json如下:

即ip+端口。

重启103.40这台机器的docker服务:

systemctl daemon-reload

systemctl restart docker.service

登录仓库192.168.103.59:8880:

在103.180这个harbor服务上创建同步目标:

依旧也是成功的!

以上纯原创实践,如果对你有帮助或解决了你的问题,那么可以点个赞哦!

发布了193 篇原创文章 · 获赞 154 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/HYZX_9987/article/details/105483772