精华内容
下载资源
问答
  • harbor

    2020-09-01 11:48:40
    harbor 文章目录harborharbor介绍harbor的功能harbor组成Docker composeHarbor部署harbor 仓库的使用 harbor介绍 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,由vmware开源,其通过添加一些企业...

    harbor

    harbor介绍

    Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,由vmware开源,其通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中, 确保数据和知识产权在公司内部网络中管控,另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等

    harbor官网

    harbor的功能

    • 基于角色的访问控制:用户与Docker镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限
    • 镜像复制:镜像可在多个Registry实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景
    • 图形化用户界面:用户可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间
    • AD/LDAP:Harbor可以集成企业内部已有的AD/LDAP,用于鉴权认证管理
    • 审计管理:所有针对镜像仓库的操作都可以被记录追溯,用于审计管理
    • 国际化:已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来
    • RESTful API:提供给管理员对于Harbor更多的操控, 使得与其它管理软件集成变得更容易

    harbor组成

    在这里插入图片描述

    • Proxy:对应启动组件nginx。它是一个nginx反向代理,代理Notary client(镜像认证)、Docker client(镜像上传下载等)和浏览器的访问请求(Core Service)给后端的各服务
    • UI(Core Service):对应启动组件harbor-ui。底层数据存储使用mysql数据库,主要提供了四个子功能:
      • UI:一个web管理页面ui
      • API:Harbor暴露的API服务
      • Auth:用户认证服务,decode后的token中的用户信息在这里进行认证;auth后端可以接db、ldap、uaa三种认证实现
      • Token服务(上图中未体现):负责根据用户在每个project中的role来为每一个docker push/pull命令issuing一个token,如果从docker client发送给registry的请求没有带token,registry会重定向请求到token服务创建token
    • Registry:对应启动组件registry。负责存储镜像文件,和处理镜像的pull/push命令。Harbor对镜像进行强制的访问控制,Registry会将客户端的每个pull、push请求转发到token服务来获取有效的token
    • Admin Service:对应启动组件harbor-adminserver。是系统的配置管理中心附带检查存储用量,ui和jobserver启动时候需要加载adminserver的配置
    • Job Sevice:对应启动组件harbor-jobservice。负责镜像复制工作的,他和registry通信,从一个registry pull镜像然后push到另一个registry,并记录job_log
    • Log Collector:对应启动组件harbor-log。日志汇总组件,通过docker的log-driver把日志汇总到一起
    • DB:对应启动组件harbor-db,负责存储project、 user、 role、replication、image_scan、access等的metadata数据

    Docker compose

    Harbor在物理机上部署是非常难的,而为了简化Harbor的应用,Harbor官方直接把Harbor做成了在容器中运行的应用,而且这个容器在Harbor中依赖类似redis、mysql、pgsql等很多存储系统,所以它需要编排很多容器协同起来工作,因此VMWare Harbor在部署和使用时,需要借助于Docker的单机编排工具(Docker compose)来实现。

    Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration.

    Docker Compose官方文档

    Harbor部署

    环境说明:

    IP 安装的应用 角色
    192.168.79.128 docker-ce 客户端
    192.168.79.129 docker-ce
    docker-compose
    harbor
    harbor仓库

    harbor官方文档

    docker安装步骤请参考docker安装

    //下载安装docker-compose
    [root@localhost ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    [root@localhost ~]# yum clean all
    [root@localhost ~]# yum -y install docker-compose
    
    //下载harbor
    [root@localhost ~]# cd /usr/src/
    [root@localhost src]# wget https://github.com/goharbor/harbor/releases/download/v2.0.2/harbor-offline-installer-v2.0.2.tgz
    [root@localhost src]# tar xf harbor-offline-installer-v2.0.2.tgz -C /usr/local/
    
    //修改配置文件
    [root@localhost src]# cd /usr/local/harbor/
    [root@localhost harbor]# ls
    common.sh             harbor.yml.tmpl  LICENSE
    harbor.v2.0.2.tar.gz  install.sh       prepare
    [root@localhost harbor]# cp harbor.yml.tmpl harbor.yml
    [root@localhost harbor]# vim harbor.yml
    ...
    hostname: 192.168.79.129    //修改IP
    ...
    # https related config    //将https部分的内容全部注释
    #https:
      # https port for harbor, default is 443
    #  port: 443
      # The path of cert and key files for nginx
    #  certificate: /your/certificate/path
    #  private_key: /your/private/key/path
    ...
    
    //执行安装脚本
    [root@localhost harbor]# ./install.sh
    [root@localhost ~]# ss -antl
    State      Recv-Q Send-Q Local Address:Port               Peer Address:Port              
    LISTEN     0      128     *:22                  *:*                  
    LISTEN     0      100    127.0.0.1:25                  *:*                  
    LISTEN     0      128    127.0.0.1:1514                *:*                  
    LISTEN     0      128      [::]:80                   [::]:*                  
    LISTEN     0      128      [::]:22                   [::]:*                  
    LISTEN     0      100     [::1]:25                   [::]:*
    

    在浏览器上直接访问IP登录
    在这里插入图片描述

    harbor 仓库的使用

    创建用户
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    新建nginx仓库并添加项目授权访问用户
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    配置客户端,并给镜像打标签

    //授权129的IP访问,在128上配置
    [root@localhost ~]# vim /etc/docker/daemon.json
    //添加以下内容
    {
      "insecure-registries": ["192.168.79.129"]
    }
     
    [root@localhost ~]# systemctl restart docker
    
    //客户端配置
    //修改标签
    [root@localhost ~]# docker pull nginx
    [root@localhost ~]# docker tag nginx:latest 192.168.79.129/nginx/nginx:v0.1
    [root@localhost ~]# docker images
    REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
    192.168.79.129/nginx/nginx   v0.1                4bb46517cac3        2 weeks ago         133MB
    nginx                        latest              4bb46517cac3        2 weeks ago         133MB
    
    //登录和上传
    [root@localhost ~]# docker logout 
    Removing login credentials for https://index.docker.io/v1/
    [root@localhost ~]# docker login 192.168.79.129
    Username: test
    Password: 
    WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
    Configure a credential helper to remove this warning. See
    https://docs.docker.com/engine/reference/commandline/login/#credentials-store
    
    Login Succeeded    //显示Succeeded表示登录成功
    
    //上传镜像到nginx仓库
    [root@localhost ~]# docker push 192.168.79.129/nginx/nginx:v0.1 
    The push refers to repository [192.168.79.129/nginx/nginx]
    550333325e31: Pushed 
    22ea89b1a816: Pushed 
    a4d893caa5c9: Pushed 
    0338db614b95: Pushed 
    d0f104dc0a1f: Pushed 
    v0.1: digest: sha256:179412c42fe3336e7cdc253ad4a2e03d32f50e3037a860cf5edbeb1aaddb915c size: 1362
    

    在浏览器上刷新查看
    在这里插入图片描述

    将之前的镜像删除并拉取镜像看是否与之前上传的一样

    [root@localhost ~]# docker pull 192.168.79.129/nginx/nginx:v0.1
    v0.1: Pulling from nginx/nginx
    bf5952930446: Pull complete 
    cb9a6de05e5a: Pull complete 
    9513ea0afb93: Pull complete 
    b49ea07d2e93: Pull complete 
    a5e4a503d449: Pull complete 
    Digest: sha256:179412c42fe3336e7cdc253ad4a2e03d32f50e3037a860cf5edbeb1aaddb915c
    Status: Downloaded newer image for 192.168.79.129/nginx/nginx:v0.1
    192.168.79.129/nginx/nginx:v0.1
    [root@localhost ~]# docker images
    REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
    192.168.79.129/nginx/nginx   v0.1                4bb46517cac3        2 weeks ago         133MB
    

    使用Harbor的注意事项:

    1. 在客户端上传镜像时一定要记得执行docker login进行用户认证,否则无法直接push
    2. 在客户端使用的时候如果不是用的https则必须要在客户端的/etc/docker/daemon.json配置文件中配置insecure-registries参数
    3. 数据存放路径应在配置文件中配置到一个容量比较充足的共享存储中
    4. Harbor是使用docker-compose命令来管理的,如果需要停止Harbor也应用docker-compose stop来停止,其他参数请–help
    展开全文
  • Harbor

    2019-12-02 01:07:07
    安装 wget ...tar -zxvf harbor-offline-installer-v1.9.3.tgz cd harbor #修改harbor.yml中的域名配置和端口, 避免端口冲突 ./install...

    安装

    wget https://github.com/goharbor/harbor/releases/download/v1.9.3/harbor-offline-installer-v1.9.3.tgz
    tar -zxvf harbor-offline-installer-v1.9.3.tgz
    cd harbor
    #修改harbor.yml中的域名配置和端口, 避免端口冲突
    ./install.sh
    #docker load -i ./harbor.v1.9.3.tar.gz #全量安装,暂时不用
    
    sudo systemctl daemon-reload
    sudo service docker restart
    #如果是虚拟机需要配置/etc/hosts ,确保harbor.yml中的hostname和登陆的域名一致
    

    管理界面使用

    1. 如果是虚拟机需要在Cilent机上配置hosts
    2. Cilent机上Browser中, hostname:port开发
    3. 管理员账户名密码在harbor.yml配置文件中
    展开全文
  • harbor搭建与使用

    万次阅读 热门讨论 2019-01-09 12:47:31
    harbor git 地址

    前两天测试服务docker化并k8s布署时,出于方便,使用了docker hub。由于我们的代码是要放到镜像里的,通过运行容器,便能获取我们的全部代码,风险很大。所以我们决定进行私有化的镜像部署。

    经过调研,决定使用harbor这个开源项目。

    项目介绍

    harbor git 地址

    优点:

    1. 本身自代 docker 私有仓库
    2. 支持基于角色的权限管理
    3. 支持 LDAP

    安装

    harbor支持k8s的helm安装和本地安装,我这次先择的安装方式是本地安装。

    我的运行环境是 Centos7.2。

    0. 前置条件

    1. 需要安装docker并运行
    yum install docker   # 安装docker
    ...
    systemctl start docker   # 运行docker服务
    
    1. 需要安装docker-compose
    yum install docker-compose
    

    1. 下载安装包

    直接选择编译好的包
    在这里插入图片描述

    这里有两个包Harbor offline installerHarbor online installer,两者的区别的是 Harbor offline installer 里就包含的 Harbor 需要使用的镜像文件。

    下载成功,并解压

    tar -zxvf harbor-offline-installer-v1.7.1.tgz
    

    进入解压的目录,并 ls
    在这里插入图片描述

    harbor.v1.7.1.tar.gz 里就是 Harbor 用到的镜像

    2. 编辑配置文件

    harbor.cfg 是这个项目的配置文件

    1. 修改 hostname 先项

    将 hostname 改成你本机的网址或IP

    hostname = A.B.C.D  # 写你自己的网址或IP,公网访问要写公网IP
    
    2. 支持Http 访问
    customize_crt = false
    

    3. 运行

    1. 修改完配置文件后,运行 ./prepare,它会哪所配置文件修改一文件
    2. 运行 ./install.sh

    运行成功,docker ps 查看,可以看到服务已经起来了。
    在这里插入图片描述

    4. 常用管理命令

    • 停止服务: docker-compose stop
    • 开始服务: docker-compose start

    GUIl界面使用

    1. 新建项目

    新建一个项目,命名为 ainirobot,并设置访问级别为公开。
    在这里插入图片描述

    这里的项目就是一私有化的Docker镜像仓库。

    上传镜像

    1. 修改Docker配置

    docker 默认是按 https 请求的,由于我搭的私有库是 http 的,所以需要修改 docker 配置,将信任的库的地址写上
    修改文件 /etc/docker/daemon.json

    {
      "insecure-registries": [
        "A.B.C.D"
      ]
    }
    

    然后重启docker

    systemctl restart docker
    

    2. 制作镜像

    将 mongo 制作成一个私有镜像, mongo 为我之前从 docker hub 上拉取的镜像。

    docker tag mongo A.B.C.D/ainirobot/nebulae_mongo:0.0.1
    

    3. 上传

    1. 先登陆私有库
    docker login A.B.C.D
    
    2. PUSH
    docker push A.B.C.D/ainirobot/nebulae_mongo:0.0.1
    
    3. 结果

    从后台已经能看到这个镜像了
    在这里插入图片描述

    推荐

    完成了私有库的搭建后,可以再安装一个k8s集群后台管理系统(wayne系统介绍)。

    展开全文
  • Harbor Community Meeting The Harbor Project holds bi-weekly community calls in two different timezones. To join the community calls or to watch previous meeting notes and recordings, ...
  • HarborHarbor 安装

    2019-06-12 20:05:46
    目录导航CentOS7:harbor 安装正文harbor 安装 CentOS7:harbor 安装 简介: 官方文档: https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md 本文参考: 环境: CentOS Linux release ...

    Harbor:Harbor 安装

    简介:

    官方文档: https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md

    本文参考:


    环境:

    • CentOS Linux release 7.6.1810 (Core)

    • Docker version 18.09.3, build 774a1f4


    
    创建时间:2019/6/5 9:37:01 
    
    创建人:于子源
    
    修改记录:修改人+修改时间+修改说明(多人修改时,增加多条)
    
    当前版本:version 1.0.0
    
    

    安装 docker-compose

    1. 安装 docker-compose

       sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
      
    2. 授予执行权限:

       sudo chmod +x /usr/local/bin/docker-compose
      
    3. 测试安装

       $ docker-compose --version
       docker-compose version 1.24.0, build 1110ad01
      
    4. 原文 https://docs.docker.com/compose/install/

    安装 harbor

    1. 先下载到 Windows host,再转移到 CentOS7 /opt/ 下

      下载离线版:https://github.com/goharbor/harbor/releases

    2. 离线安装

      tar xvf harbor-offline-installer-<version>.tgz

    3. 进入 harbor 文件夹,编辑 harbor.yml

      hostname: 修改为 hostname: 10.9.40.123。10.9.40.123 为我试验机的 IP。

    4. 执行 install.sh 脚本

      ./install.sh

    5. 访问 10.9.40.123:80

      https://10.9.40.123:80 or http://10.9.40.123/harbor

    6. 登录信息在 harbor.yml 文件中。

      默认为 root/Harbor123456


    展开全文
  • harbor API

    2017-07-07 19:01:36
    非常全面的harbor API
  • 软件环境:centos7.5 需要提前安装文件编辑工具 vim yum install -y vim 一键执行harbor-install.sh即可 其中有个环节需要修改配置文件 只需按照以下安装脚本harbor-install.sh文件中3.4步骤进行修改即可
  • Harbor升级

    2020-11-21 17:04:41
    docker run -it --rm -v /home/harbor185/harbor/harbor.yml:/harbor-migration/harbor-cfg/harbor.yml -v /home/harbor194/harbor/harbor.yml:/harbor-migration/harbor-cfg-out/harbor.yml goharbor/harbor-migra
  • harbor的搭建

    2019-03-27 22:35:46
    harbor的搭建
  • harbor 升级

    2020-02-21 10:02:52
    harbor 升级方法 # 1. 进入harbor文件夹,停止harbor 服务 cd harbor docker-compose down # 2.备份harbor, 防止出错,可以回滚 mv harbor /backup_dir/harbor # 3.备份数据,默认在 /data/database # 建议最好...
  • Harbor安装

    千次阅读 2019-08-01 15:51:07
    Harbor安装 Harbor是一个开源的镜像仓库. harbor官网 环境 软件 版本 下载地址 备注 系统 Centos 7.4 - - - docker 18.09.0-3 传送门 - - docker-componse 1.24.1 ...
  • 重启Harbor

    千次阅读 2020-07-22 13:32:27
    harbor 通过docker-compose.yml配置文件的形式管理 停止harbor,停止容器 docker-compose stop 启动容器 docker-compose up -d
  • harbor离线安装包

    2020-11-19 15:41:18
    harbor-offline-installer-v1.9.4,大家看好版本,本文件较大
  • Harbor介绍

    千次阅读 2020-04-28 15:43:43
    Harbor Harbor是什么? Harbor是VMware公司开源的企业级DockerRegistry项目,其目标是帮助用户迅速搭建一个企业级的Dockerregistry服务。 它以Docker公司开源的registry为基础,提供了管理UI,基于角色的访问控制...
  • harbor仓库

    2020-07-04 20:39:13
    安装docker: [root@server7 Downloads]# yum install -y docker-ce container-selinux-2.77-1.el7.noarch.rpm [root@server7 Downloads]# tar zxf harbor-offline-...[root@server7 harbor]# vim harbor.yml .

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,140
精华内容 4,056
关键字:

harbor