1. 安装

    1. 下载安装包,可以在“Harbor Releases”查看更多版本

      wget https://github.com/goharbor/harbor/releases/download/v2.15.0-rc3/harbor-offline-installer-v2.15.0-rc3.tgz
      
    2. 解压缩

      tar -zxvf harbor-offline-installer-v2.15.0-rc3.tgz && rm -f harbor-offline-installer-v2.15.0-rc3.tgz
      
    3. 配置 harbor,编辑harbor.yml

      cd harbor && cp harbor.yml.tmpl harbor.yml
      vi harbor.yml
      
      • 搜索http related config并将端口号修改为一个不被占用的端口,例如:8080

        # http related config
        http:
          port: 8080
      • 搜索https related config并将端口号修改为一个不被占用的端口,例如:5443,将证书填入对应的配置

        # https related config
        https:
          port: 5443
          certificate: /your/certificate/docker.mydomain.pem
          private_key: /your/private/key/docker.mydomain.key
      • 修改配置中的harbor_admin_password,这是默认账户admin的登陆密码(这个账户也可以用来 push 和 pull)
    4. 安装

      ./install
      
  2. 配置域名

    编辑 nginx 配置,设置代理转发(端口5443要与上面harbor.yml配置的 https 端口保持一致)

    proxy_pass https://127.0.0.1:5443;

    如需 https 方式访问可以参考《Let's Encrypt的https证书申请及安装(nginx)》不要使用 CloudFlare 的证书,因为他们的 CDN 对于每个请求(request body)的大小有限制,一旦超出就会中断传输,在镜像上传、下载过程中很容易超出限制,若请求超过限制,Cloudflare 将返回 ‌413 Request Entity Too Large‌ 错误。
    关于 CloudFlare 请求大小限制如下:

    • Free / Pro 计划‌:最大 ‌100 MB‌
    • Business 计划‌:最大 ‌200 MB‌
    • Enterprise 计划‌:默认 ‌500 MB‌
  3. 访问

    此时可以使用ip:端口(5443)或者域名来进行访问 web 了,下面是仓库的一些操作:

    # 登录私有镜像仓库
    docker login https://docker.mydomain.com:5443
    # 构建镜像 -t 代表镜像名称, . 代表了`Dockerfile`位置)
    docker build -t my-app:v1.0 .
    # 为镜像标记 TAG
    docker tag my-app:v1.0 docker.mydomain.com:5443/test/my-app:v1.0
    # 将镜像推送到远程私有镜像仓库
    docker push docker.mydomain.com:5443/test/my-app:v1.0
    # 拉取远程私有镜像仓库中的镜像
    docker pull docker.mydomain.com:5443/test/my-app@sha256:xxx