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.验证测试

Harbor企业级镜像仓库安装部署_docker


新创建用户cict1和cict2

Harbor企业级镜像仓库安装部署_推送_02

新建项目

Harbor企业级镜像仓库安装部署_推送_03

在另外一台客户机器上面推送镜像,先配置好信任来源,http推送



编辑/etc/docker/daemon.json文件,添加harbor服务器ip:





       
"insecure-registries": [ "192.168.2.201" ]



重启docker

systemctl restart docker

查看现在镜像

Harbor企业级镜像仓库安装部署_docker_04

把要推送的镜像打个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




Harbor企业级镜像仓库安装部署_harbor_05

在其他docker主机中把镜像pull下来,也是要先登录然后再执行pull命令:

[root@localhost harbor]# docker images

Harbor企业级镜像仓库安装部署_推送_06

[root@localhost harbor]# docker login 192.168.2.201

Harbor企业级镜像仓库安装部署_推送_07


[root@localhost harbor]# docker pull 192.168.2.201/test/nginx:latest

Harbor企业级镜像仓库安装部署_docker_08

如果想要继续更改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企业级镜像仓库安装部署的主要内容,如果未能解决你的问题,请参考以下文章

centos7案例实战——docker仓库Harbor服务安装部署

Docker镜像仓库Harbor安装与配置

部署Harbor私有仓库

Harbor镜像仓库部署

centos 7离线安装harbor

私有镜像仓库Harbor基础介绍与部署