• 私有仓库harbor安装包括https


    1. 下载离线的 harbor gz包

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

    2. 安装docker-compose

    (1). 使用pip安装 

    使用 epel.repo 源

    yum install python-pip 
    pip install --upgrade pip 

    pip install docker-compose 

    (2). 使用 yum直接安装

    yum install -y docker-compose 

     由于docker-compose 版本过高引起的,所有卸载,安装 1.7.1版本

    卸载
    [root@iZrj9ftygu3aq014t90o08Z harbor]# pip uninstall docker-compose
    
    [root@iZrj9ftygu3aq014t90o08Z harbor]# pip install docker-compose==1.7.1

    3. 解压进入到harbor 文件夹修改 hostname,其他配置可以不动

    修改主机名

     

    禁止harbor注册

    4. 执行:  ./install

     5. 访问

     

     6. 维护操作

    比如使用https,那么

    关闭  docker-compose  down -v

    修改 harbor配置文件,

    运行 ./prepare

    启动 : docker-compose up -d

    ######################################################################################################

    harbor 配置https 登录,避免使用 在docker 配置文件中再次添加 -insecure-registry 参数

    1. 生成证书

    localdomain=docker.senyint.com
    
    openssl req -nodes -subj "/C=CN/ST=BeiJing/L=ChaoYang/CN=$localdomain" -newkey rsa:2048 -keyout $localdomain.key -out $localdomain.csr 
    
    openssl x509 -req -days 10000 -in $localdomain.csr -signkey $localdomain.key -out $localdomain.crt 
    
    openssl x509 -req -in $localdomain.csr -CA $localdomain.crt -CAkey $localdomain.key -CAcreateserial -out $localdomain.crt -days 10000


    2. harbor服务器进行操作  docker cert.d 目录建立 登录域名的文件夹,并且把ca拷贝到目录中

    mkdir /etc/docker/certs.d/docker.senyint.com/
    cp /data/cert/docker.senyint.com.crt /etc/docker/certs.d/docker.senyint.com/ca.crt

    3.修改配置文件, 把http 修改成 https

    hostname = docker.senyint.com
    
    ui_url_protocol = https
    
    db_password = root123
    
    max_job_workers = 3 
    
    customize_crt = off
    
    ssl_cert = /data/cert/docker.senyint.com.crt
    ssl_cert_key = /data/cert/docker.senyint.com.key
    
    secretkey_path = /data
    
    admiral_url = NA
    
    clair_db_password = password
    
    email_identity = 
    
    email_server = smtp.mydomain.com
    email_server_port = 25
    email_username = sample_admin@mydomain.com
    email_password = abc
    email_from = admin <sample_admin@mydomain.com>
    email_ssl = false
    
    harbor_admin_password = admin
    
    auth_mode = db_auth
    
    ldap_url = ldaps://ldap.mydomain.com
    
    ldap_basedn = ou=people,dc=mydomain,dc=com
    
    ldap_uid = uid 
    
    ldap_scope = 3 
    
    ldap_timeout = 5
    
    self_registration = on
    
    token_expiration = 30
    
    project_creation_restriction = everyone
    
    verify_remote_cert = on

    [root@harbor harbor]# cd /data/harbor

    [root@harbor harbor]# ./install

    [root@harbor harbor]# docker login docker.senyint.com
    Username: admin
    Password:
    Login Succeeded

    查看保存的登录认证信息

    [root@harbor docker.senyint.com]# cat /root/.docker/config.json 
    {
            "auths": {
                    "docker.senyint.com": {
                            "auth": "YWRtaW46YWRtaW4="
                    }
            }
    }

    测试上传镜像,先打tag , 注意一定要登录https://docker.senyint.com 建立项目名称

    [root@harbor harbor]# docker tag photon:1.0 docker.senyint.com/senyint/photon:1.0
    [root@harbor harbor]# docker pull docker.senyint.com/senyint/photon:1.0

    docker服务器进行操作
    1. docker cert.d 目录建立 登录域名的文件夹,并且把ca拷贝到目录中

    [root@openfalcon_mysql docker.senyint.com]# mkdir /etc/docker/certs.d/docker.senyint.com/ 
    [root@openfalcon_mysql docker.senyint.com]# scp docker.senyint.com:/etc/docker/certs.d/docker.senyint.com/ca.crt /etc/docker/certs.d/docker.senyint.com/ca.crt

    2.登录一下docker.senyint.com 服务器,把认证信息保存在/root/.docker/config.json

    [root@openfalcon_mysql docker.senyint.com]# docker login docker.senyint.com
    Username: admin
    Password: 
    Login Succeeded

    3. 测试拉取镜像

    [root@openfalcon_mysql docker.senyint.com]# docker pull docker.senyint.com/senyint/busybox
    Using default tag: latest
    Trying to pull repository docker.senyint.com/senyint/busybox ... 
    latest: Pulling from docker.senyint.com/senyint/busybox
    fb46b04c527d: Pull complete 
    Digest: sha256:cb845cc8a7838ec7a4bcc3ace4084318773798c1bb8fe11b34b06204d8be9a9b

    harbor 镜像删除与空间回收

    1. 在管理页面裸机上删除镜像

    2. 关闭harbor所有容器

    docker-compose  stop

    3. 查看registry 镜像

    [root@ceonts-ceph-01 harbor]# docker images vmware/registry
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    vmware/registry     2.6.2-photon        c38af846a0da        11 months ago       240MB

    4. 查看要删除的镜像, /etc/registry/config.yml  没有这个文件

    docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.2-photon garbage-collect --dry-run /etc/registry/config.yml

    5. 删除镜像

    docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.2-photon garbage-collect  /etc/registry/config.yml

    6. 查看/data/registry大小

    7. 启动镜像

    docker-compose  start
  • 相关阅读:
    govalidator----结构体tag验证
    结构字段验证--validator.v9
    序列化
    案例:8,64,256都是2的阶次方数(8是2的3次方),用Java编写程序来判断一个整数是不是2的阶次方数。
    易错点
    什么是线程与进程?
    对象与实例的区别?
    什么情况下用断言?assert
    垃圾收集器什么时候回收垃圾?
    HashMap 和 HashTable 的区别
  • 原文地址:https://www.cnblogs.com/fengjian2016/p/8144487.html
Copyright © 2020-2023  润新知