zoukankan      html  css  js  c++  java
  • harbor搭建及使用

    harbor搭建及使用

     

    1 系统及软件版本

    1.1 系统版本

    # uname -a
    
    Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
    
    # cat /etc/redhat-release
    
    CentOS Linux release 7.5.1804 (Core)
    

    1.2 软件版本

    1、 docker版本:18.06.1-ce

    #docker -v
    
    Docker version 18.06.1-ce, build e68fc7a
    

    2、 docker-compose版本:1.23.1

    # docker-compose version
    
    docker-compose version 1.23.1, build b02f130
    
    docker-py version: 3.5.1
    
    CPython version: 2.7.5
    
    OpenSSL version: OpenSSL 1.0.2k-fips 26 Jan 2017
    

    3、harbor版本:1.5.0

    2 安装依赖

    2.1 Docker安装

    请参考centos7安装dockerCE

    2.2 docker-compose安装

    1、 配置阿里的epel源

    # wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    

    2、 安装Python-pip

    # yum install python-pip -y
    

    3、 升级Python-ppip

    # pip install --upgrade pip
    

    4、 安装docker-compose

    # pip install docker-compose
    

    5、查看docker-compose版本

    # docker-compose -v
    docker-compose version 1.23.1, build b02f130
    

    3 安装harbor

    3.1 下载安装包

    1、 可以在网站上下载离线安装包。

    地址:https://github.com/goharbor/harbor/releases

    2、Linux服务器上可以直接下载1.5.0的离线安装包

    # wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.5.0.tgz
    

    2、 下载会很慢,可以从我的百度云下载

    链接:https://pan.baidu.com/s/1I75uievCd4kVi0eIpXHkZQ
    提取码:rz1u
    

    3、 国内harbor离线版镜像

    地址:http://harbor.orientsoft.cn/

    3.2 上传解压

    # tar -zxvf harbor-offline-installer-v1.5.0.tgz
    
    # cd harbor
    

    3.3 修改配置文件

    Harbor的配置文件为harbor.cfg。此次配置我使用http访问。而不是https访问。所以可以不需要证书。

    # cat harbor.cfg |grep -v ^$|grep -v ^#
    
    _version = 1.5.0
    
    hostname = [www.harbor2.com](http://www.harbor2.com) #需要写IP地址或者域名
    
    ui_url_protocol = http
    
    max_job_workers = 50
    
    customize_crt = on
    
    ssl_cert = /data/cert/server.crt #没有目录需要创建
    
    ssl_cert_key = /data/cert/server.key #没有目录需要创建
    
    secretkey_path = /data
    
    admiral_url = NA
    
    log_rotate_count = 50
    
    log_rotate_size = 200M
    
    http_proxy =
    
    https_proxy =
    
    no_proxy = 127.0.0.1,localhost,ui
    
    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
    
    email_insecure = false
    
    harbor_admin_password = 12345 #harbor登录密码
    
    auth_mode = db_auth
    
    ldap_url = ldaps://ldap.mydomain.com
    
    ldap_basedn = ou=people,dc=mydomain,dc=com
    
    ldap_uid = uid
    
    ldap_scope = 2
    
    ldap_timeout = 5
    
    ldap_verify_cert = true
    
    ldap_group_basedn = ou=group,dc=mydomain,dc=com
    
    ldap_group_filter = objectclass=group
    
    ldap_group_gid = cn
    
    ldap_group_scope = 2
    
    self_registration = on
    
    token_expiration = 30
    
    project_creation_restriction = everyone
    
    db_host = mysql
    
    db_password = root123
    
    db_port = 3306
    
    db_user = root
    
    clair_db_host = postgres
    
    clair_db_password = password
    
    clair_db_port = 5432
    
    clair_db_username = postgres
    
    clair_db = postgres
    
    uaa_endpoint = uaa.mydomain.org
    
    uaa_clientid = id
    
    uaa_clientsecret = secret
    
    uaa_verify_cert = true
    
    uaa_ca_cert = /path/to/ca.pem
    
    registry_storage_provider_name = filesystem
    
    registry_storage_provider_config =
    

    3.4 安装并启动

    安装之前需要启动docker

    执行安装脚本

    # ./install.sh
    

    4 访问harbor web界面

    启动完成后,可以直接访问安装harbor的IP地址。启动的是80端口。账号密码为:admin/12345(配置文件里修改过)

     
     

    进入界面

     
     

    5 使用harbor上传下载镜像

    Docker执行本地登录操作

    5.1 连接harbor

    # docker login [www.harbor2.com](http://www.harbor2.com)
    
    输入用户名admin/Harbor12345
    
    Login Succeeded #显示此字段说明登录成功可以上传下载镜像
    

    5.2 连接报错解决

    5.2.1 报错内容

    Error response from daemon: Get https://www.harbor2.com/v2/: dial tcp 10.10.8.113:443: connect: connection refused
    

    5.2.2 报错分析

    Docker自从1.3.X之后docker registry交互默认使用的是HTTPS,但是我们搭建私有镜像默认使用的是HTTP服务,所以与私有镜像交时出现以上错误。

    5.2.3 解决问题

    一、 方法一

    1、修改启动文件

    # vi /usr/lib/systemd/system/docker.service
    ……
    ExecStart=/usr/bin/dockerd --insecure-registry www.harbor2.com
    #修改此处并且后边添加IP地址或者域名
    ……
    

    2、重新启动docker

    # systemctl daemon-reload
    # systemctl restart docker
    

    二、方法二

    1、修改或添加配置

    # cd /etc/docker/
    # vi daemon.json
    {
     "insecure-registries" : ["www.harbor2.com"]
    }
    

    2、重新启动docker

    # systemctl daemon-reload
    # systemctl restart docker
    

    5.3 上传镜像

    5.3.1 Harbor上创建新项目供上传使用

     
     
     
     

    5.3.2 Docker服务器给镜像打标签

    [root@docker1 ~]# docker images
    
    REPOSITORY TAG     IMAGE ID CREATED SIZE
    
    tomcat 7.0.90 4cbf48630b46 6 weeks ago 195MB
    
    # docker tag tomcat:7.0.90 www.harbor2.com/test/tomcat:7.0.90
    
    # docker images
    
    REPOSITORY TAG IMAGE ID  CREATED  SIZE
    
    tomcat          7.0.90  4cbf48630b46 6 weeks ago 195MB
    
    www.harbor2.com/test/tomcat 7.0.90 4cbf48630b46  6 weeks ago 195MB
    

    5.3.3 上传

    # docker push www.harbor2.com/test/tomcat:7.0.90
    
    The push refers to repository [www.harbor2.com/test/tomcat]
    
    9c2f1836d493: Mounted from common/centos
    
    7.0.90: digest: sha256:20f32279b5e4801424c21f56c2f645fc2109d81bdc3cc6855e7e982b5d3d334b size: 529
    
     
     

    5.4 下载镜像

    5.4.1 删除本地镜像

    # docker rmi tomcat:7.0.90
    
    # docker rmi www.harbor2.com/test/tomcat:7.0.90
    

    5.4.2 下载harbor上的镜像

    # docker pull www.harbor2.com/test/tomcat:7.0.90
    
    # docker images
    
    REPOSITORY         TAG IMAGE ID CREATED SIZE
    
    www.harbor2.com/test/tomcat 7.0.90 4cbf48630b46 6 weeks ago    195MB
    
     
     
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
     

    harbor安装要求

     

     

      harbor快速部署

        下载harbor:https://github.com/goharbor/harbor/releases

    这边以harbor-1.8.2为例

     

     

     

     

     [root@gitlab home]# tar -xf harbor-offline-installer-v1.8.2.tgz

    修改配置文件

     

     

     

     必改项,其余的自己看着改

     

    下载docker-compose

    curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/sbin/docker-compose && chmod +x /usr/sbin/docker-compose

     

    然后依次执行

     

     

     

     

     

     

    启动完成后 登录harbor页面,默认用户名密码 admin/Harbor12345

    登录页面后创建一个project测试下上传功能

     

     

    修改docker启动的service

     不然连接会报错

     使用docker连接,上传一个镜像测试,输入自己的账户名密码。

     

     

     

     

    登录成功后,上传一个镜像

    harbor项目中有命令复制

     

     

     

    先打tag,在上传,以我本机nginx为例

     

     

    出现这个报错是因为没有给项目添加用户,本项目是用admin用户创建的,而我docker连接的是test用户,添加用户上传即可

     

     在次上传

     

     上传成功,harbor上查看

     

     

    已成功上传。

     

    文档参考:

      https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md

      https://docs.docker.com/compose/install/

      

     
     
  • 相关阅读:
    判断UpLoader是否安装了Flash
    事务
    AMQP
    分布式领域CAP理论
    查看数据库所有表的所有字段
    拼分页方法
    Website English Comments
    SQL语句执行时间测试
    一般处理程序返回json
    MVC Action返回Json
  • 原文地址:https://www.cnblogs.com/xiao-xue-di/p/11769252.html
Copyright © 2011-2022 走看看