HarborRegistry——centos上使用docker-compose源码安装Harbor

先决条件:

  • python2.7或以上(centos系统自带)

1. 安装docker engine v1.10或以上

命令:

$ yum install docker

2. 安装docker compose v1.6.0或以上

下载docker-compose文件:

$ curl -L "https://github.com/docker/compose/releases/download/1.8.1/docker-compose-$(uname -s)-$(uname -m)" > /usr/local/bin/docker-compose

授予docker-compose可执行权限:

$ chmod +x /usr/local/bin/docker-compose

验证安装完成:

 $ docker-compose --version

3. 下载harbor源码并安装

  1. 下载harbor源码:

    $ git clone https://github.com/vmware/harbor
  2. 编辑make/harbor.cfg ,主要修改hostname(用自己的ip)、ui_url_protocol(http或者https)、admin/password和邮箱。在这里只修改hostnameui_url_protocol,其它默认。其中各个配置文件参数参考官方 。

    
    ## Configuration file of Harbor
    
    
    
    #The IP address or hostname to access admin UI and registry service.
    
    
    #DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
    
    hostname = 10.0.2.15
    
    
    #The protocol for accessing the UI and token/notification service, by default it is http.
    
    
    #It can be set to https if ssl is enabled on nginx.
    
    ui_url_protocol = http
  3. docker-compose需要文件格式为yaml 或者 yml ,make目录下只有tpl 格式,所以:

    cp docker-compose.tpl docker-compose.yml
  4. 配置完成以后,直接安装就可以了。

    $ ./install.sh

4. 验证安装

  1. 重新配置docker客户端。修改/etc/sysconfig/dockerOPTIONS 部分,添加--insecure-registry 10.0.2.15 ,并重启。

    OPTIONS='--selinux-enabled --insecure-registry 10.0.2.15'
  2. 浏览器输入http://10.0.2.15/ ,直接进入harbor入口。

5. harbor的生命周期管理

  1. 停止harbor

    $ docker-compose stop
  2. 删除harbor容器,不会删除数据

    $ docker-compose rm
  3. 开启harbor

    $ docker-compose up -d  # 进入后台执行
  4. 当然,一个./install.sh 包括了上述的所有过程。所以,在修改了配置文件之后,直接执行./install.sh 就可以。

6. 定位错误 ##

  1. 当Harbor运行出现故障,运行一下命令来查看所有的containers是不是处于UP 状态:

    $ sudo docker-compose ps
          Name                      Command               State                  Ports                   
     -----------------------------------------------------------------------------------------------------
     harbor_jobservice_1   /harbor/harbor_jobservice        Up                                               
     harbor_log_1          /bin/sh -c crond && rsyslo ...   Up    0.0.0.0:1514->514/tcp                    
     harbor_mysql_1        /entrypoint.sh mysqld            Up    3306/tcp                                 
     harbor_proxy_1        nginx -g daemon off;             Up    0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp 
     harbor_registry_1     /entrypoint.sh serve /etc/ ...   Up    5000/tcp                                 
     harbor_ui_1           /harbor/harbor_ui                Up                                               

    如果container不在UP状态,在/var/log/harbor 目录下的对应的日志文件。比如,如果harbor_ui_1 发生故障,查看日志文件docker_ui.log

  2. 在nginx代理或者弹性负载均衡的后台安装Harbor,如果代理已经有了相似的设置: location / , location /v2/ 以及 location /service/ ,那么删除Deploy/config/nginx/nginx.conf 文件中的下面一行

    proxy_set_header X-Forwarded-Proto $scheme;

参考文档

  • Install Docker Compose
  • Install Docker Engine
  • Harbor Installation and Configuration Guide

你可能感兴趣的:(云计算,docker)