重要信息

  Harbor的默认安装使用HTTP - 因此,您需要将该选项添加--insecure-registry到客户端的Docker守护程序中,然后重新启动Docker服务。

公证人安装

  要使用公证服务安装Harbor,请在运行时添加参数install.sh:

$ sudo ./install.sh --with-notary

注意:要使用公证人进行安装,必须将参数ui_url_protocol设置为“https”。配置HTTPS请参考以下章节。

有关Notary和Docker Content Trust的更多信息,请参阅Docker的文档:https: //docs.docker.com/engine/security/trust/content_trust/

用Clair安装

  要安装Harbor with Clair服务,请在运行时添加一个参数install.sh:

$ sudo ./install.sh --with-clair

有关Clair的更多信息,请参阅Clair的文档:https: //coreos.com/clair/docs/2.0.1/

注意:如果要安装Notary和Clair,则必须在同一命令中指定两个参数:

$ sudo ./install.sh --with-notary --with-clair

有关如何使用港口的信息,请参阅港口用户指南。

使用HTTPS访问配置港口

  harbor不附带任何证书,默认情况下,使用HTTP提供请求。虽然这使得设置和运行相对简单 - 特别是对于开发或测试环境 - 不建议在生产环境中使用。要启用HTTPS,请参阅使用HTTPS访问配置港口。

管理Harbor的生命周期

  您可以使用docker-compose来管理Harbor的生命周期。一些有用的命令如下所列(必须与docker-compose.yml在同一目录中运行)。

停止Harbor:

$ sudo docker-compose stop
Stopping nginx ... done
Stopping harbor-jobservice ... done
Stopping harbor-ui ... done
Stopping harbor-db ... done
Stopping registry ... done
Stopping harbor-log ... done

停止后重新启动Harbor:

$ sudo docker-compose start
Starting log ... done
Starting ui ... done
Starting mysql ... done
Starting jobservice ... done
Starting registry ... done
Starting proxy ... done

要更改Harbor的配置,请首先停止现有的Harbor实例并进行更新harbor.cfg。然后运行prepare脚本来填充配置。最后重新创建并启动Harbor的实例:

$ sudo docker-compose down -v
$ vim harbor.cfg
$ sudo prepare
$ sudo docker-compose up -d

删除Harbor的容器,同时保留image数据和Harbor的数据库文件在文件系统上:

$ sudo docker-compose down -v

删除Harbor的数据库和image数据(为了干净的重新安装):

$ rm -r / data / database
$ rm -r / data / registry

管理Harbor的安全生产周期

当Harbor与Notary安装时,docker-compose.notary.ymldocker-compose命令需要一个额外的模板文件。用于管理Harbor生命周期的码头组合命令是:

$ sudo docker-compose -f ./docker-compose.yml -f ./docker-compose.notary.yml [ up|down|ps|stop|start ]

例如,如果要在harbor.cfg配有Notary的情况下更改配置并重新部署Harbor,则应使用以下命令:

$ sudo docker-compose -f ./docker-compose.yml -f ./docker-compose.notary.yml down -v
$ vim harbor.cfg
$ sudo准备 - 公证
$ sudo docker-compose -f ./docker-compose.yml -f ./docker-compose.notary.yml up -d

在与Clair安装时管理Harbor的生命周期

  当Harbor与Clair一起安装时,docker-compose.clair.ymldocker-compose命令需要一个额外的模板文件。用于管理港口生命周期的码头组合命令是:

$ sudo docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml [ up|down|ps|stop|start ]

  例如,如果要在harbor.cfg使用Clair安装时更改配置并重新部署Harbor,则应使用以下命令:

$ sudo docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml down -v
$ vim harbor.cfg
$ sudo prepare --with-clair
$ sudo docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml up -d

管理Harbour的生命周期,当与Notary和Clair一起安装时

  如果您已经安装了Notary和Clair,那么您应该在docker-compose中编写两个组件并准备命令:

$ sudo docker-compose -f ./docker-compose.yml -f ./docker-compose.notary.yml -f ./docker-compose.clair.yml down -v
$ vim harbor.cfg
$ sudo准备 - 与公证--with-clair
$ sudo docker-compose -f ./docker-compose.yml -f ./docker-compose.notary.yml -f ./docker-compose.clair.yml up -d

  有关docker-compose的更多信息,请查看Docker Compose命令行参考。

持久性数据和日志文件

  默认情况下,注册表数据将保留在主机的/data/目录中。即使拆除和/或重建港湾的集装箱,这些数据也保持不变。

  另外,Harbor使用rsyslog收集每个容器的日志。默认情况下,这些日志文件存储在/var/log/harbor/目标主机上的目录中进行故障排除。

配置在自定义端口上监听harbor

  默认情况下,对于admin portal和docker命令,Harbor将在端口80(HTTP)和443(如果已配置HTTPS)上进行监听,则可以使用自定义方式进行配置。

对于HTTP协议

1.修改docker-compose.yml
将第一个“80”替换为自定义的端口,例如8888:80。

proxy:
image: library/nginx:1.11.5
restart: always
volumes:
- ./config/nginx:/etc/nginx
ports:
- 8888:80
- 443:443
depends_on:
- mysql
- registry
- ui
- log
logging:
driver: "syslog"
options:
syslog-address: "tcp://127.0.0.1:1514"
tag: "proxy"
2.修改ports.cfg,将端口添加到参数“hostname”

hostname = 192.168.0.2:8888
3.重新部署港口参考上一节“管理港口的生命周期”。

对于HTTPS协议

按照本指南,启用港口中的HTTPS 。
2.修改docker-compose.yml
将第一个“443”替换为自定义的端口,例如8888:443。

proxy:
    image: library/nginx:1.11.5
    restart: always
    volumes:
      - ./config/nginx:/etc/nginx
    ports:
      - 80:80
      - 8888:443
    depends_on:
      - mysql
      - registry
      - ui
      - log
    logging:
      driver: "syslog"
      options:  
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "proxy"

3.修改ports.cfg,将端口添加到参数“hostname”

hostname = 192.168.0.2:8888

4.重新部署港口参考上一节“管理港口的生命周期”。

性能调优

  默认情况下,Harbor将Clair容器的CPU使用量限制为150000,并避免使用所有CPU资源。这在docker-compose.clair.yml文件中定义。您可以根据硬件配置进行修改。

故障排除

当Harbour不能正常工作时,请运行以下命令,查看Harbor的所有容器是否处于UP状态:

    $ sudo docker-compose ps
        Name                     Command               State                    Ports                   
  -----------------------------------------------------------------------------------------------------
  harbor-db           docker-entrypoint.sh mysqld      Up      3306/tcp                                 
  harbor-jobservice   /harbor/harbor_jobservice        Up                                               
  harbor-log          /bin/sh -c crond && rsyslo ...   Up      127.0.0.1:1514->514/tcp                    
  harbor-ui           /harbor/harbor_ui                Up                                               
  nginx               nginx -g daemon off;             Up      0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp 
  registry            /entrypoint.sh serve /etc/ ...   Up      5000/tcp                                 

  如果容器未处于UP状态,请检查目录中该容器的日志文件/var/log/harbor。例如,如果容器harbor-ui没有运行,则应该查看日志文件ui.log。

2,当设置港湾后面的nginx的代理或弹性负载均衡,寻找线下,在common/templates/nginx/nginx.http.conf从部分删除它,如果代理已经有类似的设置:location /,location /v2/和location /service/。

proxy_set_header X-Forwarded-Proto $scheme;

并重新部署Harbor参考上一节“管理Harbor的生命周期”。

posted on 2017-08-18 15:25  菜鸡天然呆  阅读(1173)  评论(0编辑  收藏  举报