精华内容
下载资源
问答
  • harbor仓库搭建

    2021-01-30 21:33:05
    文章内容分别做了docker仓库搭建以及客户端验证。 特别说明: 此文章直接复制脚本内容就可以搭建成功(前提是你的etc下也有一个harbor的安装包如果没有可以自己网上下载或者找博主私信)。 系统环境: centos7 ...

    由于k8s拉取镜像速度很慢,因此做了此文章。
    文章内容分别做了docker仓库搭建以及客户端验证。
    特别说明:
    此文章直接复制脚本内容就可以搭建成功(前提是你的etc下也有一个harbor的安装包如果没有可以自己网上下载或者找博主私信)。

    系统环境:
    centos7

    IP 节点名称
    192.168.182.150 master
    192.168.182.151 node-1

    1、修改主机名称,关闭防火墙,关闭selinux。
    所有节点执行(主机名称需要在相应节点执行)

    hostnamectl set-hostname master
    systemctl stop firewalld
    systemctl disable firewalld
    setenforce 0
    

    2、解压harbor软件、安装docker、安装docker-compose。
    master节点执行。

    cd /etc
    tar -zxf harbor-offline-installer-v1.10.1.tgz
    yum install -y yum-utils device-mapper-persistent-data lvm2
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    yum install docker-ce  -y 
    curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
    chmod +x /usr/local/bin/docker-compose
    docker-compose -v
    

    3、修改harbor内容。
    mastet节点执行

    cat /etc/harbor/harbor.yml
    
      1 # Configuration file of Harbor
      2 
      3 # The IP address or hostname to access admin UI and registry service.
      4 # DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
      5 hostname: www.www.com
      6 
      7 # http related config
      8 http:
      9   # port for http, default is 80. If https enabled, this port will redirect to https port
     10   port: 80
     11 
     12 # https related config
     13 https:
     14   # https port for harbor, default is 443
     15   port: 443
     16   # The path of cert and key files for nginx
     17   certificate: /etc/harbor/ssl/www.www.crt
     18   private_key: /etc/harbor/ssl/www.www.com.key
     19 
     20 # Uncomment external_url if you want to enable external proxy
     21 # And when it enabled the hostname will no longer used
     22 # external_url: https://reg.mydomain.com:8433
     23 
     24 # The initial password of Harbor admin
     25 # It only works in first time to install harbor
     26 # Remember Change the admin password from UI after launching Harbor.
     27 harbor_admin_password: Harbor12345
     28 
     29 # Harbor DB configuration
     30 database:
     31   # The password for the root user of Harbor DB. Change this before any production use.
     32   password: root123
     33   # The maximum number of connections in the idle connection pool. If it <=0, no idle connections are retained.
     34   max_idle_conns: 50
     35   # The maximum number of open connections to the database. If it <= 0, then there is no limit on the number of open connections.
     36   # Note: the default number of connections is 100 for postgres.
     37   max_open_conns: 100
     38 
     39 # The default data volume
     40 data_volume: /data
    

    4、配置所需证书、创建所需目录。
    master节点执行

    mkdir /data
    mkdir /etc/harbor/ssl
    cd /etc/harbor/ssl
    openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt
    openssl req -newkey rsa:4096 -nodes -sha256 -keyout www.www.com.key -out www.www.com.csr
    openssl x509 -req -days 365 -in www.www.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out www.www.crt
    
    上面证书要注意域名和国家。
    -----
    Country Name (2 letter code) [XX]:CN
    State or Province Name (full name) []:
    Locality Name (eg, city) [Default City]:
    Organization Name (eg, company) [Default Company Ltd]:
    Organizational Unit Name (eg, section) []:
    Common Name (eg, your name or your server's hostname) []:www.www.com
    最后一条命令显示如下成功。
    Signature ok
    subject=/C=CN/L=Default City/O=Default Company Ltd/CN=www.www.com
    Getting CA Private Key
    

    5、安装并启动harbor,修改docker国内源。
    master节点执行。

    systemctl start docker
    vim /etc/docker/daemon.json 
    {"registry-mirrors":["https://t5t8q6wn.mirror.aliyuncs.com"]}
    systemctl daemon-reload
    systemctl restart docker
    ./prepare
    ./install.sh
    

    6、配置开机启动harbor。
    master节点执行

    cat /etc/systemd/system/harbor.service
    [Unit]
    Description=Harbor
    After=docker.service systemd-networkd.service systemd-resolved.service
    Requires=docker.service
    Documentation=http://github.com/vmware/harbor
    
    [Service]
    Type=simple
    Restart=on-failure
    RestartSec=5
    #需要注意harbor的安装位置
    ExecStart=/usr/local/bin/docker-compose -f  /etc/harbor/docker-compose.yml up
    ExecStop=/usr/local/bin/docker-compose -f /etc/harbor/docker-compose.yml down
    
    [Install]
    WantedBy=multi-user.target
    
    
    [root@master harbor]# systemctl daemon-reload
    systemctl enable harbor
    systemctl enable docker
    

    7、web界面访问(去配置文件找密码)。

    在这里插入图片描述
    在这里插入图片描述
    8、创建项目。
    在这里插入图片描述
    9、创建用户(我在截图之前创建了一个用户所以显示用户存在,大家在实验的时候不会出现问题)。
    在这里插入图片描述
    10、把www用户加入到项目。
    在这里插入图片描述
    11、客户端安装docker创建目录。
    node-1节点执行

    yum install -y yum-utils device-mapper-persistent-data lvm2 
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    yum install docker-ce  -y 
    mkdir /etc/docker/certs.d/www.www.com -p
    

    12、master节点拷贝证书到node-1节点、master节点创建相应目录、master节点登录harbor用户。
    master节点执行。

    echo '192.168.182.150 www.www.com' >> /etc/hosts 
    scp www.www.crt root@192.168.182.151:///etc/docker/certs.d/www.www.com
    mdkir -p /etc/docker/certs.d/www.www.com
    cd /etc/docker/certs.d/www.www.com
    cp -a /etc/harbor/ssl/www.www.crt .
    docker login www.www.com -uwww -pAbc123..
    

    13、master上传镜像到harbor。
    master节点执行

    docker pull nginx
    docker tag nginx www.www.com/www/nginx:v1
    docker push www.www.com/www/nginx:v1
    

    14、web界面查看harbor仓库。
    在这里插入图片描述

    15、客户端启动docker、登录harbor。
    node-1节点执行

    systemctl start docker
    systemctl enable docker
    echo '192.168.182.150 www.www.com' >> /etc/hosts 
    [root@node-1 www.www.com]#  docker login www.www.com -uwww -pAbc123..
    WARNING! Using --password via the CLI is insecure. Use --password-stdin.
    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
    
    

    16、客户端下载harbor镜像仓库验证。
    node-1节点执行。

    docker pull www.www.com/www/nginx:v1
    
    v1: Pulling from www/nginx
    a076a628af6f: Pull complete 
    0732ab25fa22: Pull complete 
    d7f36f6fe38f: Pull complete 
    f72584a26f32: Pull complete 
    7125e4df9063: Pull complete 
    Digest: sha256:0b159cd1ee1203dad901967ac55eee18c24da84ba3be384690304be93538bea8
    Status: Downloaded newer image for www.www.com/www/nginx:v1
    www.www.com/www/nginx:v1
    
    
    docker images
    REPOSITORY              TAG       IMAGE ID       CREATED       SIZE
    www.www.com/www/nginx   v1        f6d0b4767a6c   2 weeks ago   133MB
    
    展开全文
  • harbor 仓库搭建

    2019-09-27 07:21:01
    Registry是Dcoker官方的一个私有仓库镜像,可以将本地的镜像打标签进行标记然后push到以Registry起的容器的私有仓库中。企业可以根据自己的需求,使用Dokcerfile生成自己的镜像,并推到私有仓库中,这样可以大大提高...

    一,介绍

    1. Harbor是一个用于存储Docker镜像的企业级Registry服务。
    2. Registry是Dcoker官方的一个私有仓库镜像,可以将本地的镜像打标签进行标记然后push到以Registry起的容器的私有仓库中。企业可以根据自己的需求,使用Dokcerfile生成自己的镜像,并推到私有仓库中,这样可以大大提高拉取镜像的效率

    二,Harbor和Registry的比较

        Harbor和Registry都是Docker的镜像仓库,但是Harbor作为更多企业的选择,是因为相比较于Regisrty来说,它具有很多的优势。
        1.提供分层传输机制,优化网络传输
          Docker镜像是是分层的,而如果每次传输都使用全量文件(所以用FTP的方式并不适合),显然不经济。必须提供识别分层传输的机制,以层的UUID为标识,确定传输的对象。
        2.提供WEB界面,优化用户体验
          只用镜像的名字来进行上传下载显然很不方便,需要有一个用户界面可以支持登陆、搜索功能,包括区分公有、私有镜像。
        3.支持水平扩展集群
          当有用户对镜像的上传下载操作集中在某服务器,需要对相应的访问压力作分解。
        4.良好的安全机制
          企业中的开发团队有很多不同的职位,对于不同的职位人员,分配不同的权限,具有更好的安全性。
        5.Harbor提供了基于角色的访问控制机制,并通过项目来对镜像进行组织和访问权限的控制。kubernetes中通过namespace来对资源进行隔离,在企业级应用场景中,通过将两者进行结合可以有效将kubernetes使用的镜像资源进行管理和访问控制,增强镜像使用的安全性。尤其是在多租户场景下,可以通过租户、namespace和项目相结合的方式来实现对多租户镜像资源的管理和访问控制。

    三,Harbor核心组件解释

    • Proxy:他是一个nginx的前端代理,代理Harbor的registry,UI, token等服务。
    • db:负责储存用户权限、审计日志、Dockerimage分组信息等数据。
    • UI:提供图形化界面,帮助用户管理registry上的镜像, 并对用户进行授权。
    • jobsevice:jobsevice是负责镜像复制工作的,他和registry通信,从一个registry pull镜像然后push到另一个registry,并记录job_log。
    • Adminserver:是系统的配置管理中心附带检查存储用量,ui和jobserver启动时候回需要加载adminserver的配置。
    • Registry:镜像仓库,负责存储镜像文件。
    • Log:为了帮助监控Harbor运行,负责收集其他组件的log,供日后进行分析。

    四,安装软件必须

    软件名版本描述
    Python 2.7或更高版本 注意: 你可能必须在Linux发行版(Gentoo,Arch)上安装Python,默认情况下没有安装Python解释器
    Docker 1.10或更高版本 有关安装说明,请参考: https://docs.docker.com/engine/installation/
    Docker-Compose 1.6.0或更高版本 有关安装说明,请参考: https://docs.docker.com/compose/install/
    Openssl 推荐最新版本 为Harbor生成证书和密钥

    五,安装软件

       01,python --默认有

    [root@rancher1 ~]# python -V
    Python 2.7.5

       02, Docker

     https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.3.ce-1.el7.noarch.rpm
    
     https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm
     
    下载 rpm -ivh 同时安装两个软件包 

       03, docker-compose

     sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    [root@rancher1 ~]# sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100   617    0   617    0     0    660      0 --:--:-- --:--:-- --:--:--   660
    100 11.2M  100 11.2M    0     0  1054k      0  0:00:10  0:00:10 --:--:-- 1390k
    [root@rancher1 ~]# sudo chmod +x /usr/local/bin/docker-compose
    [root@rancher1 ~]# sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
    [root@rancher1 ~]# docker-compose --version
    docker-compose version 1.23.2, build 1110ad01
    

        04,安装harbor

     wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-online-installer-v1.7.1.tgz
    
    tar zxvf harbor-online-installer-v1.7.1.tgz
    

         更改harbor.cnf

    harbor参数详解
    
        必要参数:需要在配置文件中设置这些参数。如果用户更新harbor.cfg并运行install.sh脚本以重新安装Harbor,更改的参数将生效。
    
        可选参数:这些参数对于更新是可选的,即用户可以将它们保留为默认值,并在启动Harbour后在Web UI上更新它们。如果已经配置harbor.cfg,这些参数只会在首次启动Harbour时生效。harbor.cfg将忽略对这些参数的后续修改。
    
    
    必需参数
    
        hostname:目标主机的主机名,用于访问UI和Harbor服务。它应该是目标计算机的IP地址或域名(FQDN),例如,192.168.1.10或reg.yourdomain.com。不要使用localhost或127.0.0.1作为主机名,因为外部客户端需要访问Harbor服务!
    
        ui_url_protocol :( http或https。默认为http)用于访问UI和令牌/通知服务的协议。如果启用了公证,则此参数必须为*https*。默认情况下,这是*http*。要设置https协议,请参阅使用HTTPS访问配置Harbor。
    
        db_password:用于db_auth的MySQL数据库的root密码。生产环境请修改此密码
    
        max_job_workers :(默认值为3)作业服务中的最大复制工作数。对于每个镜像复制作业,程序将存储库的所有标记同步到远程目标。增加此数量可以在系统中实现更多并发复制作业。但是,由于每个复制进程都消耗一定的网络/CPU/IO资源,请根据主机的硬件资源仔细选择该参数的值。
    
        customize_crt:(on或off,默认为on),如果此属性on,准备脚本创建私钥和根证书,用于生成/验证registry的令牌。当外部源提供密钥和根证书时,将此属性设置为off。有关详细信息,请参阅自定义密钥和harbor令牌服务证书。
    
        ssl_cert:SSL证书的路径,仅在协议设置为https时应用
    
        ssl_cert_key:SSL密钥的路径,仅在协议设置为https时应用
    
        secretkey_path:用于加密或解密复制策略中远程Harbor密码的密钥路径。
    
        log_rotate_count:日志文件在被删除之前会被轮转log_rotate_count次。如果count为0,则删除旧版本而不是轮转。
    
        log_rotate_size:仅当日志文件大于log_rotate_size字节时才会轮转日志文件。如果大小后跟k,则假定大小以千字节为单位。如果使用M,则大小以兆字节为单位,如果使用G,则大小为千兆字节。尺寸100,尺寸100k,尺寸100M和尺寸100G都是有效的。
    
    可选参数
    
        Email settings:Harbor需要这些参数才能向用户发送“密码重置”电子邮件,并且仅在需要该功能时才做配置。另外,请注意,在默认情况下SSL连接没有启用,如果你的SMTP服务器需要SSL,那么你应该通过设置email_ssl = TRUE参数来启用SSL,但不支持STARTTLS。如果电子邮件服务器使用自签名证书或不受信任证书,则需要设置email_insecure = true。有关email_identity的详细说明
    
    
    
        harbor_admin_password:管理员的初始密码。此密码仅在Harbor首次启动时生效。之后将忽略此设置,并且应在UI中设置管理员密码。请注意:默认用户名/密码为admin/Harbor12345
    
        auth_mode:使用的身份验证类型。默认情况下,它是db_auth,即凭据存储在数据库中。对于LDAP身份验证,请将其设置为ldap_auth。
    
        重要信息:从现有Harbor实例升级时,必须确保在启动新版本的Harbor之前,harbor.cfg配置文件中auth_mode相同。否则,用户可能无法在升级后登录。
    
        ldap_url:LDAP连接URL(例如ldaps://ldap.mydomain.com)。 仅在**auth_mode**设置为ldap_auth时使用。
    
        ldap_searchdn:具有搜索LDAP/AD服务器权限的用户的DN(例如uid=admin,ou=people,dc=mydomain,dc=com)。
    
        ldap_search_pwd:ldap_searchdn指定的用户密码。
    
        ldap_basedn:查找用户的基本DN,例如ou=people,dc=mydomain,dc=com。 仅在**auth_mode**设置为ldap_auth时使用。
    
        ldap_filter:用于查找用户的搜索过滤器,例如(objectClass=person)。
    
        ldap_uid:用于在LDAP搜索期间匹配用户的属性,它可以是uid,cn,email或其他属性。
    
        ldap_scope:搜索用户的范围,0-LDAP_SCOPE_BASE,1-LDAP_SCOPE_ONELEVEL,2-LDAP_SCOPE_SUBTREE。默认值为2。
    
        self_registration :( on或off。默认on)启用/禁用用户自助注册功能。禁用时,新用户只能由管理员用户创建,只有管理员可以在Harbor中创建新用户。 *注意:当auth_mode设置为ldap_auth时,始终*禁用自助注册功能,并忽略此设置。
    
        token_expiration:令牌服务创建的令牌到期时间(以分钟为单位),默认为30分钟。
    
        project_creation_restriction:用于控制用户有权创建项目的设置。默认情况下,每个人都可以创建一个项目,设置为“adminonly”,只有管理员才能创建项目。

        测试环境的话更改hostname就可以了

        改docker-compose.yml

        只需要更改端口就行

        

        运行./install.sh

     

        等待安装

    默认密码Harbor12345  用户admin

     六,配置https访问

      因为harbor使用的是基于官方registy:v2,官方默认使用https,否则无法进行正常的login,pull和push操作

      1:创建证书存放目录

          mkdir -p /data/cert && cd /data/cert    

      2:创建自己的CA证书(不使用第三方权威机构的CA来认证)
        openssl genrsa -out ca.key 2048   #生成根证书私钥(无加密)

      3: 生成自签名证书(使用已有私钥ca.key自行签发根证书)

      openssl req -x509 -new -nodes -key ca.key -days 10000 -out ca.crt -subj "/CN=Harbor-ca"

    req     产生证书签发申请命令
    -x509   签发X.509格式证书命令。X.509是最通用的一种签名证书格式。
    -new    生成证书请求
    -key     指定私钥文件
    -nodes   表示私钥不加密
    -out    输出
    -subj    指定用户信息
    -days    有效期


        4:生成服务器端私钥和CSR签名请求

    openssl req -newkey rsa:4096 -nodes -sha256 -keyout server.key -out server.csr
      
        5:签发服务器证书

    echo subjectAltName = IP:192.168.88.128 > extfile.cnf
    openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 365 -extfile extfile.cnf -out server.crt
    x509           签发X.509格式证书命令。
    -req           表示证书输入请求。
    -days          表示有效天数
    -extensions    表示按OpenSSL配置文件v3_req项添加扩展。
    -CA            表示CA证书,这里为ca.crt
    -CAkey         表示CA证书密钥,这里为ca.key
    -CAcreateserial表示创建CA证书序列号
    -extfile      指定文件

      6:设置docker证书

     如果如下目录不存在,请创建,如果有域名请按此格式依次创建
    mkdir -p /etc/docker/certs.d/192.168.50.84
    # mkdir -p /etc/docker/certs.d/[IP2]
    # mkdir -p /etc/docker/certs.d/[example1.com]
    # 如果端口为443,则不需要指定。如果为自定义端口,请指定端口
    # /etc/docker/certs.d/yourdomain.com:port
    
    # 将ca根证书依次复制到上述创建的目录中
    cp ca.crt /etc/docker/certs.d/192.168.50.84/

    其他服务器使用harbor方法

    [root@rancher1 ~]# mkdir /etc/docker/certs.d/rancher1/ -p
    [root@rancher1 ~]# scp 192.168.0.167:/etc/docker/certs.d/192.168.0.167/ca.crt  /etc/docker/certs.d/rancher/
    [root@rancher1 ~]# vim /etc/docker/daemon.json
    {
      "registry-mirrors": ["https://usb391x6.mirror.aliyuncs.com"]
    }
    { "insecure-registries":["192.168.0.167"] }
    [root@rancher1 ~]# systemctl daemon-reload
    [root@rancher1 ~]# systemctl restart docker
    [root@rancher2 ~]# docker login -u admin -p Harbor12345 192.168.0.167
    Login Succeeded

     

    转载于:https://www.cnblogs.com/kingle-study/p/10422534.html

    展开全文
  • Harbor仓库搭建

    2019-07-13 22:40:47
    此时需要三个包:docker,docker-compose,harbor docker环境配置: cd /etc/yum.repos.d/ vim westos.repo ##编辑yum源配置文件,此时必须使用rhel7.5镜像,否则解决不了依赖性 yum install containerd....

    Harbor 是由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA 等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor 也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。
    核心组件:

    • Proxy:他是一个nginx的前端代理,代理Harbor的registry,UI, token等服务。
    • db:负责储存用户权限、审计日志、Dockerimage分组信息等数据。
    • UI:提供图形化界面,帮助用户管理registry上的镜像, 并对用户进行授权。
    • jobsevice:jobsevice是负责镜像复制工作的,他和registry通信,从一个registry pull镜像然后push到另一个registry,并记录job_log。
    • Adminserver:是系统的配置管理中心附带检查存储用量,ui和jobserver启动时候回需要加载adminserver的配置。
    • Registry:镜像仓库,负责存储镜像文件。
    • Log:为了帮助监控Harbor运行,负责收集其他组件的log,供日后进行分析
    1. 配置环境
      此时需要三个包:docker,docker-compose,harbor
      docker环境配置:
    cd /etc/yum.repos.d/
    vim westos.repo             				##编辑yum源配置文件,此时必须使用rhel7.5镜像,否则解决不了依赖性
    yum install containerd.io-1.2.5-3.1.el7.x86_64.rpm container-selinux-2.21-1.el7.noarch.rpm docker-ce-18.09.6-3.el7.x86_64.rpm docker-ce-cli-18.09.6-3.el7.x86_64.rpm -y   			##安装docker所需要的包
    systemctl start docker   					##打开docker服务
    yum install bash-* -y                        ##安装命令补齐插件
    sysctl -a |grep bridge                      ##过滤桥接信息
    cd /etc/sysctl.d/
    vim docker.conf 							##编辑配置文件,设置桥接信息打开
    sysctl --system								##重载信息
    ip addr show 								##会分配docker的ip
    yum install bash-* -y
    

    docker-compose下载:

    curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose      ##下载docker-compose
    chmod +x /usr/local/bin/docker-compose  ##执行权限
    docker-compose version						##查看版本信息
    

    harbor下载:

    网站下载:https://github.com/goharbor/harbor/releases
    tar zxvf harbor-offline-installer-v1.8.1.tgz 
    

    在这里插入图片描述
    2.配置数据环境

    systemctl start docker			##打开docker服务
    cd harbor
    docker load -i harbor.v1.8.1.tar.gz		##加载harbor镜像插件
    vim harbor.yml										##配置文件,设置主机名,以及登陆密码
    		hostname: westos.com
    		harbor_admin_password: Harbor12345
    systemctl restart docker						##重启docker服务
    systemctl enable docker						##设置开机自启
    docker-compose up -d							##开启服务docker-compose
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3.加载证书认证
    官网地址:https://github.com/goharbor/harbor/blob/master/docs/configure_https.md

    openssl genrsa -out ca.key 4096									##生成认证证书
    openssl req -x509 -new -nodes -sha512 -days 3650 -subj "/C=TW/ST=Taipei/L=Taipei/O=example/OU=Personal/CN=westos.com"   -key ca.key   -out ca.crt					
    openssl genrsa -out westos.com.key 4096					##创建私钥,指定密钥长度 
    openssl req -sha512 -new  -subj "/C=TW/ST=Taipei/L=Taipei/O=example/OU=Personal/CN=westos.com"   -key westos.com.key  -out westos.com.csr 							##网页生成证书
    vim v3.ext																		##生成注册表主机的证书							
    openssl x509 -req -sha512 -days 3650   -extfile v3.ext -CA ca.crt -CAkey ca.key -CAcreateserial   -in westos.com.csr  -out westos.com.crt																##将上个文件编辑的信息生成证书
    mkdir -p /data/cert/
    cp westos.com.crt /data/cert/								    	##将证书与密钥发送给hardor编辑文件
    cp westos.com.key /data/cert/
    openssl x509 -inform PEM -in westos.com.crt -out westos.com.cert			##Docker配置服务器证书、密钥和CA
    mkdir -p /etc/docker/certs.d/westos.com
    cp westos.com.key /etc/docker/certs.d/westos.com/
    cp ca.crt /etc/docker/certs.d/westos.com/
    cp westos.com.cert /etc/docker/certs.d/westos.com/
    vim harbor.yml
    		hostname: westos.com
    		harbor_admin_password: Harbor12345
    		https:
    		   # https port for harbor, default is 443
    		  port: 443
    		   # The path of cert and key files for nginx
    		  certificate: /data/cert/westos.com.crt										##指定证书位置
    		  private_key: /data/cert/westos.com.key
    ./prepare																							##重载hardor服务
    systemctl restart docker
    docker-compose down -v
    docker-compose up -d																		##重启docker-compose服务
    vim /etc/hosts																					##添加域名解析
    		172.25.30.2			westos.com
    docker login westos.com																	##登陆
    docker load -i harbor.v1.8.1.tar.gz													##加载harbor镜像插件			
    docker tag busybox:latest westos.com/library/busybox					##更改镜像名,设置为登陆名以及镜像仓库,可根据网页配置添加上查看应该修改的镜像名
    docker push westos.com/library/busybox										  ##推送镜像
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述总结:
    出现500报错,可以重启服务,检查端口。
    如果一直推送拒绝服务,就可以检查一下镜像名,是否与网页上仓库名与用户登陆名一致。

    展开全文
  • 本地Harbor仓库搭建

    2020-12-15 17:29:37
    建立本地Harbor仓库 在docker的daemon.json 中添加证书相关配置,并重启docker "insecure-registries":["https://hub.sunwin.com"] 在hosts中追加域名配置,高亮部分为当前机器ip echo "192.168.1.134 hub.sunwin....

    建立本地Harbor仓库

    在docker的daemon.json 中添加证书相关配置,并重启docker

    "insecure-registries":["https://hub.sunwin.com"]
    

    在hosts中追加域名配置,高亮部分为当前机器ip

    echo "192.168.1.134 hub.sunwin.com" >> /etc/hosts
    

    Harbor 安装:
    Harbor 官方地址: https://github.com/vmware/harbor/releases

    下载软件包

    wget https://github.com/vmware/harbor/releases/download/v1.2.0/harbor-offline-installer-v1.2.0.tgz
    

    1 、解压软件包:

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

    2 、配置 harbor.cfg
    必选参数,主要需要配置hostname和ui_url_protocol
    hostname :目标的主机名或者完全限定域名
    ui_url_protocol : http 或 https 。默认为 http,修改成https
    db_password :用于 db_auth 的 MySQL 数据库的根密码。更改此密码进行任何生产用途
    max_job_workers :(默认值为 3 )作业服务中的复制工作人员的最大数量。对于每个映像复制作业,工作人员将存储库的所有标签同步到远程目标。增加此数字允许系统中更多的并发复制作业。但是,由于每个工作人员都会消耗一定数量的网络 / CPU / IO 资源,请根据主机的硬件资源,仔细选择该属性的值
    customize_crt :( on 或 off 。默认为 on )当此属性打开时, prepare 脚本将为注册表的令牌的生成 / 验证创建私钥和根证书
    ssl_cert : SSL 证书的路径,仅当协议设置为 https 时才应用
    ssl_cert_key : SSL 密钥的路径,仅当协议设置为 https 时才应用
    secretkey_path :用于在复制策略中加密或解密远程注册表的密码的密钥路径

    3 、创建 https 证书以及配置相关目录权限

    创建文件夹用于存放证书

    mkdir /data/cert
    

    生成私钥(输入两次密码,自己定一个)

    openssl genrsa -des3 -out server.key 2048
    

    创建证书请求(输入刚才的密码,国家、省、市、组织、机构、服务地址如hub.sunwin.com、邮箱地址,后面两处不需要修改,直接回车)

    openssl req -new -key server.key -out server.csr
    

    备份私钥

    cp server.key server.key.org
    

    退私钥密码

    openssl rsa -in server.key.org -out server.key
    

    签名证书

    openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
    

    赋权限

    chmod -R 777 /data/cert
    

    4 、运行脚本进行安装

    ./install.sh
    

    5 、访问测试
    https://reg.yourdomain.com 的管理员门户(将 reg.yourdomain.com 更改为您的主机名, harbor.cfg当中配置的 );
    或者使用如下控制台命令进行测试

    docker login https://reg.yourdomain.com
    

    默认管理员用户名 / 密码为 admin / Harbor12345

    展开全文
  • 文章目录pod资源管理pod特点Pod容器分类基础容器initcontainers初始化容器业务容器 container镜像拉取策略k8s--harbor仓库搭建 pod资源管理 pod特点 最小部署单元 一组容器的集合 一个pod中的容器共享网络命名空间 ...
  • Harbor仓库搭建管理

    2020-01-01 14:43:06
    简介: Harbor是一个用于存储和分发Docker镜像...Registry是Dcoker官方的一个私有仓库镜像,可以将本地的镜像打标签进行标记然后push到以Registry起的容器的私有仓库中。企业可以根据自己的需求,使用Dokcerfile生...
  • K8S实战Day5-Harbor仓库搭建前言Harbor简介Harbor安装1.镜像包下载2.配置文件2.部署nginx总结 前言 docker hub涉及网络及安全的问题,实际使用不方便,我们更需要使用Harbor搭建一个私有仓库。 但由于自己使用云主机...
  • Harbor仓库搭建及简单使用

    万次阅读 2019-06-03 14:57:12
    Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,859
精华内容 743
关键字:

harbor仓库搭建