使用 Harbor 搭建企业级 Docker 仓库

2017/6/30 posted in  软件配置 comments

前期准备

安装配置

  1. 解压 Harbor 安装文件

  2. 基本配置

    仅配置 required parametersoptional parameters 建议在界面上配置,因为 optional parameters 仅第一次启动时从配置文件读取

    • 配置 hostname 为网络中所有主机可以访问的 IP 地址或域名
    • 配置 db_password,建议生成环境修改默认密码

默认 Harbor 会存储数据到 /data/,并存储日志到 /var/log/harbor/

  1. 配置 HTTPS,参考 Configuring Harbor with HTTPS Access

    如果是 hostname 配置的 IP,请按如下生成 SSL 证书:

    # 编辑 `/etc/pki/tls/openssl.cnf` 在 `[ v3_ca ]` 的位置修改如下:
    [ v3_ca ]
    subjectAltName = IP:192.168.100.2
    
    openssl req -newkey rsa:4096 -nodes -sha256 -keyout server.key -x509 -out server.crt
    

    如果是 hostname 配置的域名(如:reg.tjj.com),请按如下生成 SSL 证书:

    # 需在 CN 中输入域名,如:Common Name (eg, your name or your server's hostname) []:reg.tjj.com
    openssl req \
        -newkey rsa:4096 -nodes -sha256 -keyout server.key \
        -x509 -out server.crt
    

    然后复制 server.key 和 server.crt 到 /data/cert 目录下

  2. 通过 ./install.sh 启动

详情参考:
Installation and Configuration Guide

常见错误

  1. x509: cannot validate certificate for 192.168.100.2 because it doesn't contain any IP SANs:生成证书时未设置 subjectAltName = IP:192.168.100.2

  2. certificate is valid for , not:生成域名证书错误

  3. x509: certificate signed by unknown authority:未配置客户端证书,需将生成的 server.crt 拷贝到客户端的 /etc/docker/certs.d/域名或IP/ 目录下,立即生效