zoukankan      html  css  js  c++  java
  • docker镜像仓库管理Harbor

    一 部署Harbor

       前提: Harbor需要运行在docker上面,所以首先需要在harbor部署机器上面自行部署docker和docker-compose

        

        docker-compose安装命令如下所示:

    sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    chmod +x
    /usr/local/bin/docker-compose
    
    

      1.1  开始在部署Harbor

        1.1.1 下载源码包

    wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-online-installer-v1.1.2.tgz

        1.1.2 解压过程略

        1.1.3 配置以及开始启动安装流程如下所示

    # hostname设置访问地址,可以使用ip、域名,不可以设置为127.0.0.1或localhost
    hostname = 172.16.173.141
    
    # 访问协议,默认是http,也可以设置https,如果设置https,则nginx ssl需要设置on
    ui_url_protocol = http
    
    # mysql数据库root用户默认密码root123,实际使用时修改下
    db_password = xxxxxx
    
    max_job_workers = 3 
    
    customize_crt = on
    
    ssl_cert = /data/cert/server.crt
    ssl_cert_key = /data/cert/server.key
    
    secretkey_path = /data
    
    admiral_url = NA
    # 邮件设置,发送重置密码邮件时使用
    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后,管理员UI登录的密码,默认是Harbor12345
    harbor_admin_password = xxxxxx
    
    # 认证方式,这里支持多种认证方式,如LADP、本次存储、数据库认证。默认是db_auth,mysql数据库认证
    auth_mode = db_auth
    
    # LDAP认证时配置项
    ldap_url = ldaps://ldap.mydomain.com
    #ldap_searchdn = uid=searchuser,ou=people,dc=mydomain,dc=com
    #ldap_search_pwd = password
    ldap_basedn = ou=people,dc=mydomain,dc=com
    #ldap_filter = (objectClass=person)
    ldap_uid = uid
    ldap_scope = 3
    ldap_timeout = 5
    
    # 是否开启自注册
    self_registration = on
    
    # token有效时间,默认30分钟
    token_expiration = 30
    
    # 用户创建项目权限控制,默认是everyone(所有人),也可以设置为adminonly(只能管理员)
    project_creation_restriction = everyone
    
    verify_remote_cert = on

     

     1.14 开始执行安装执行./install.sh结束有如下进程 

    [root@localhost harbor]# docker ps
    CONTAINER ID        IMAGE                              COMMAND                  CREATED             STATUS              PORTS                                                              NAMES
    2c338d048370        vmware/harbor-jobservice:v1.1.2    "/harbor/harbor_jo..."   8 minutes ago       Up 8 minutes                                                                           harbor-jobservice
    3536e02036cc        vmware/nginx:1.11.5-patched        "nginx -g 'daemon ..."   8 minutes ago       Up 8 minutes        0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp   nginx
    f0e9cce9ebd0        vmware/harbor-ui:v1.1.2            "/harbor/harbor_ui"      8 minutes ago       Up 8 minutes                                                                           harbor-ui
    10899d82255e        vmware/registry:2.6.1-photon       "/entrypoint.sh se..."   8 minutes ago       Up 8 minutes        5000/tcp                                                           registry
    7c4142e47177        vmware/harbor-db:v1.1.2            "docker-entrypoint..."   8 minutes ago       Up 8 minutes        3306/tcp                                                           harbor-db
    af6ee670aafd        vmware/harbor-adminserver:v1.1.2   "/harbor/harbor_ad..."   8 minutes ago       Up 8 minutes                                                                           harbor-adminserver
    332a9f81c337        vmware/harbor-log:v1.1.2           "/bin/sh -c 'crond..."   8 minutes ago       Up 8 minutes        127.0.0.1:1514->514/tcp                                            harbor-log

       1.15 在需要访问的机器上面的/etc/docker/daemon.json下面添加认可IP信息如下所示

    [root@localhost docker]# cat daemon.json
    {
      "registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"],
      "insecure-registries":["xx.xx.xx.xx"]
    }

      1.16可以成功的访问自己搭建的私有镜像仓库

    [root@localhost docker]# docker login 172.16.173.141
    Username (admin):
    Password:
    Login Succeeded

      

      1.17接下来展示一个如何将研发仓库的镜像打包到harbor仓库里面去

    [root@localhost wxm_images]# docker images
    REPOSITORY                              TAG                 IMAGE ID            CREATED             SIZE
    <none>                                  <none>              3101777ef936        33 minutes ago      529 MB
    docker.io/mysql                         latest              c8562eaf9d81        2 months ago        546 MB
    172.16.173.141/wxm-test-01/basenginx2   wxm                 300e315adb2f        3 months ago        209 MB
    172.16.173.141/wxm-test-01/basenginx    wxm                 300e315adb2f        3 months ago        209 MB
    basenginx                               wxm                 300e315adb2f        3 months ago        209 MB
    docker.io/centos                        latest              300e315adb2f        3 months ago        209 MB
    nginx                                   wxm                 300e315adb2f        3 months ago        209 MB
    
    [root@localhost wxm_images]# docker tag docker.io/mysql 172.16.173.141/wxm-test-01/mysql:wxm

      1.18 之后push到harbor上面

    [root@localhost wxm_images]# docker images

    REPOSITORY TAG IMAGE ID CREATED SIZE
    <none> <none> 3101777ef936 40 minutes ago 529 MB
    172.16.173.141/wxm-test-01/mysql wxm c8562eaf9d81 2 months ago 546 MB
    docker.io/mysql latest c8562eaf9d81 2 months ago 546 MB
    172.16.173.141/wxm-test-01/basenginx2 wxm 300e315adb2f 3 months ago 209 MB
    172.16.173.141/wxm-test-01/basenginx wxm 300e315adb2f 3 months ago 209 MB
    basenginx wxm 300e315adb2f 3 months ago 209 MB
    docker.io/centos latest 300e315adb2f 3 months ago 209 MB
    nginx wxm 300e315adb2f 3 months ago 209 MB



    [root@localhost wxm_images]# docker push 172.16.173.141/wxm-test-01/mysql The push refers to a repository [172.16.173.141/wxm-test-01/mysql] c080af299e3f: Pushed ab82e085fd82: Pushed d60ed0726e37: Pushed 9577a2d5d759: Pushing [==============> ] 119.5 MB/410.8 MB d35a1217c926: Pushed 98d98806c8ac: Pushed 0394a41efa73: Pushing [=============> ] 13.77 MB/52.24 MB c484a3b6d841: Pushed 6d23902c2a54: Pushed 74c86dffd46f: Pushing [=================================================> ] 9.176 MB/9.343 MB ef4a33cee7a0: Pushed cb42413394c4: Mounted from wxm-test-01/basenginx

      

      1.19 在harbor上面能看到刚推上去的镜像

        1.1.20 下面展示如何从harbor上面拉取镜像

    [root@localhost wxm_images]# docker pull 172.16.173.141/wxm-test-01/mysql:wxm
    Trying to pull repository 172.16.173.141/wxm-test-01/mysql ...
    wxm: Pulling from 172.16.173.141/wxm-test-01/mysql
    Digest: sha256:43bf7db32d11e75d8463a8bc077f09af5fb5b84b182b1d74124ddca633093bfa
    Status: Image is up to date for 172.16.173.141/wxm-test-01/mysql:wxm

        

  • 相关阅读:
    long和Long的区别
    C语言的变量的内存分配
    Java蓝桥杯 算法提高 九宫格
    Java实现 蓝桥杯算法提高金明的预算方案
    Java实现 蓝桥杯 算法提高 新建Microsoft world文档
    Java实现 蓝桥杯 算法提高 快乐司机
    Java实现 蓝桥杯 算法提高 三角形
    Java实现 蓝桥杯 算法提高 三角形
    Java实现 蓝桥杯 算法提高 三角形
    Java实现 蓝桥杯 算法提高 三角形
  • 原文地址:https://www.cnblogs.com/wxm-pythoncoder/p/14565346.html
Copyright © 2011-2022 走看看