Harbor企业级镜像仓库安装部署
Posted 我是一只小小茑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Harbor企业级镜像仓库安装部署相关的知识,希望对你有一定的参考价值。
Harbor企业级镜像仓库安装部署
Harbor是VMware公司开源的一个企业级Docker
Registry项目,项目地址: https://github.com/goharbor/harbor 。
Harbor作为一个企业级私有Registry服务器,提供了更好的性能和安全,提升了用户使用Registry构建和运行环境传输镜像的效率。虽然Harbor和Registry都是私有镜像仓库的选择,但是Harbor的企业级特性更强,因此也是更多企业级用户的选择。
Harbor实现了基于角色的访问控制机制,并通过项目来对镜像进行组织和访问权限的控制,也常常和K8S中的namespace结合使用。此外,Harbor还提供了图形化的管理界面,我们可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间。
1.下载离线安装包
wgethttps://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@localhost harbor]# |
3.验证测试
新创建用户cict1和cict2
新建项目
在另外一台客户机器上面推送镜像,先配置好信任来源,http推送
编辑/etc/docker/daemon.json文件,添加harbor服务器ip:
|
重启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企业级镜像仓库安装部署的主要内容,如果未能解决你的问题,请参考以下文章