生也有涯,知也无涯。这篇文章主要讲述Harbor企业级镜像仓库安装部署相关的知识,希望能为你提供帮助。
Harbor企业级镜像仓库安装部署Harbor是VMware公司开源的一个企业级Docker
Registry项目,项目地址: ??https://github.com/goharbor/harbor??
。
Harbor作为一个企业级私有Registry服务器,提供了更好的性能和安全,提升了用户使用Registry构建和运行环境传输镜像的效率。虽然Harbor和Registry都是私有镜像仓库的选择,但是Harbor的企业级特性更强,因此也是更多企业级用户的选择。
Harbor实现了基于角色的访问控制机制,并通过项目来对镜像进行组织和访问权限的控制,也常常和K8S中的namespace结合使用。此外,Harbor还提供了图形化的管理界面,我们可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间。
1.下载离线安装包
wget??https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.0.tgz?? tarxf harbor-offline-installer-v1.7.0.tgz |
2.安装docker-compose来管理harbor的容器服务。
使用GitHub源 curl -L ??https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname??-s`-`uname -m` -o /usr/local/bin/docker-compose chmod +x/usr/local/bin/docker-compose |
验证一下:
[root@localhost
harbor]# docker-compose --version
docker-compose
version 1.18.0, build 8dd22a9
在解压的harbor目录中编辑harbor.cfg文件,修改一下hostname,其它的可以先不做配置:
hostname= 192.168.2.201
修改完配置接下来在harbor目录下执行以下命令:
./prepare
./install.sh
查看容器都正常启动了:
docker-compose ps
Name Command State Ports ------------------------------------------------------------------------------------------------------------------------------ harbor-adminserver /harbor/start.sh Up harbor-core /harbor/start.sh Up harbor-db /entrypoint.sh postgres Up 5432/tcp harbor-jobservice /harbor/start.sh Up harbor-log /bin/sh -c /usr/local/bin/ ... Up 127.0.0.1:1514-> 10514/tcp harbor-portal nginx -g daemon off; Up 80/tcp nginx nginx -g daemon off; Up 0.0.0.0:443-> 443/tcp, 0.0.0.0:4443-> 4443/tcp,0.0.0.0:80-> 80/tcp redis docker-entrypoint.sh redis ... Up 6379/tcp registry /entrypoint.sh /etc/regist ... Up 5000/tcp registryctl /harbor/start.sh Up [root@localhostharbor]# |
3.验证测试
新创建用户cict1和cict2
新建项目
在另外一台客户机器上面推送镜像,先配置好信任来源,http推送
编辑/etc/docker/daemon.json文件,添加harbor服务器ip:
"insecure-registries": [ "192.168.2.201" ] |
重启docker
systemctl restart docker
查看现在镜像
把要推送的镜像打个tag:
docker tag docker.io/nginx 192.168.2.201/test/nginx:latest
使用刚刚的cict1用户登录,然后执行推送镜像命令。
[root@node1 ~]# docker login 192.168.2.201
Username (cict):cict Password: Login Succeeded |
推送镜像至仓库
[root@node1 ~]# docker push 192.168.2.201/test/nginx:latest
2bed47a66c07:Layer already exists 82caad489ad7:Layer already exists d3e1dca44e82:Layer already exists c9fcd9c6ced8:Layer already exists 0664b7821b60:Layer already exists 9321ff862abb:Layer already exists latest: digest:sha256:4424e31f2c366108433ecca7890ad527b243361577180dfd9a5bb36e828abf47 size:1570 |
在其他docker主机中把镜像pull下来,也是要先登录然后再执行pull命令:
[root@localhost harbor]# docker images
[root@localhost harbor]# docker login 192.168.2.201
[root@localhost harbor]# docker pull 192.168.2.201/test/nginx:latest
如果想要继续更改harbor.cfg.配置,那么改完后需要重新初始化Harbor:
docker-compose down -v # 暂停Harbor实例群
./prepare # 生成配置文件,根据 harbor.cfg 配置生成docker-compose文件。
docker-compose up -d # 后台启动Harbor实例群
不用Harbor了,那么可以彻底删除Harbor的数据和镜像文件:
# 彻底地删除 Harbor 的数据和镜像rm-r /data/databaserm-r /data/registry
【Harbor企业级镜像仓库安装部署】
推荐阅读
- LINUX下载编译FreeSwitch
- Docker-compose搭建nginx负载均衡
- LINUX下载编译ldns
- jenkins安装与配置
- TCP长连接实践与挑战
- 搏动"城市之肾",可视化突破海绵城市发展困境
- 搭建npm的私有verdaccio 仓库
- shell脚本中ssh命令远程调用java启动脚本无法启动java进程
- 运维面试问道 网站出现502 如何排查