1、Harbor概述

Habor是由VMWare公司开源的容器镜像仓库。事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制,AD/LDAP集成以及审计日志等,足以满足基本企业需求。
官方地址:https://vmware.github.io/harbor/cn/

组件                    功能
harbor-adminserver        配置管理中心
harbor-db                Mysql数据库
harbor-jobservice        负责镜像复制
harbor-log                记录操作日志
harbor-ui                Web管理页面和API
nginx                    前端代理,负责前端页面和镜像上传/下载转发
redis                    会话
registry                镜像存储

2、Harbor部署

Harbor安装有3种方式:
•在线安装:从Docker Hub下载Harbor相关镜像,因此安装软件包非常小
•离线安装:安装包包含部署的相关镜像,因此安装包比较大
•OVA安装程序:当用户具有vCenter环境时,使用此安装程序,在部署OVA后启动Harbor

    docker compose官网:
    https://docs.docker.com/compose/
    (docker compose适合单机docker集群)
    linux安装:
    sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    [root@linux-node1 ~]# chmod +x /usr/local/bin/docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

离线安装安装包下载:
https://github.com/goharbor/harbor/releases

[root@linux-node1 ~]# wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.0.tgz
[root@linux-node1 ~]# tar xf harbor-offline-installer-v1.7.0.tgz
[root@linux-node1 ~]# sed -i 's#hostname = reg.mydomain.com#hostname = 192.168.6.240#g' /root/harbor/harbor.cfg 
[root@linux-node1 ~]# cd /root/harbor
[root@linux-node1 harbor]# ./prepare 
[root@linux-node1 harbor]# ./install.sh

[root@linux-node1 harbor]# docker-compose ps
       Name                     Command                       State                                    Ports
-------------------------------------------------------------------------------------------------------------------------------------
harbor-adminserver   /harbor/start.sh                 Up (healthy)                                                                   
harbor-core          /harbor/start.sh                 Up (health: starting)                                                          
harbor-db            /entrypoint.sh postgres          Up (healthy)            5432/tcp                                               
harbor-jobservice    /harbor/start.sh                 Up                                                                             
harbor-log           /bin/sh -c /usr/local/bin/ ...   Up (healthy)            127.0.0.1:1514->10514/tcp                              
harbor-portal        nginx -g daemon off;             Up (health: starting)   80/tcp                                                 
nginx                nginx -g daemon off;             Up (health: starting)   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 (healthy)            5000/tcp                                               
registryctl          /harbor/start.sh                 Up (healthy)      
[root@linux-node1 harbor]# vi harbor.cfg
hostname = 192.168.6.240
ui_url_protocol = http
harbor_admin_password = 123456    
[root@linux-node1 harbor]# systemctl restart docker.service 
[root@linux-node1 harbor]# docker-compose start 

#这里已经部署完成,通过浏览器访问 http://192.168.6.240 账号:admin 密码:Harbor12345

#第一步:
系统管理-->用户管理-->创建用户:
                        用户名:sunrise
                        邮  箱:1210353303@qq.com
                        全    名:sunrise
                        密  码:Harbor12345
                      确认密码:Harbor12345
                        注  释: ---

#第二步:
项目-->单击项目(library)-->成员-->+用户-->新建成员
                                            姓    名: sunrise
                                            角    色: 项目管理员&开发&访客(任选其一)

3、基本使用

[root@linux-node1 ~]# docker info   #查看镜像库
1、配置http镜像仓库可信任
# vi /etc/docker/daemon.json
{"insecure-registries":["reg.ctnrs.com"]}
# systemctl restart docker
# docker-compose up -d



[root@linux-node1 ~]# docker login 192.168.6.240
Username:
password:
然后就可以上传了。

2、打标签
# docker tag centos:6 reg.ctnrs.com/library/centos:6
3、上传
# docker push reg.ctnrs.com/library/centos:6
4、下载
# docker pull reg.ctnrs.com/library/centos:6

#证书认证方式
https://blog.csdn.net/mimica247706624/article/details/80724900

文档更新时间: 2022-02-18 15:58   作者:李延召