基于Docker安装Harbor搭建Docker私有仓库

前言

之前整理过一篇基于docker安装的Harbor的文章,但是在实际的运用中,发现那么玩并不实用,根据后续的实用,这里重新整理一个新的教程

准备
Docker安装及docker-compose

可参考:CentOS 7下安装Docker及基础操作;Harbor的运行是通过docker-compose进行服务编排,所以这里需要优先安装好;

下载Harbor安装包
  • 版本查看
    官方地址,选择自己需要安装的版本;
  • 下载
    • 直接在上面的官网点击下载
      在这里插入图片描述
    • wget安装
      // 第一步 找到上图中对应版本的包,右键复制连接
      // 在linux上通过以下指令
      wget https://github.com/goharbor/harbor/releases/download/v1.10.1/harbor-offline-installer-v1.10.1.tgz
      
    • 下载建议
      建议将上面的地址拷贝出来,通过迅雷下载,速度会快很多,毕竟包有点大,咱的时间比较珍贵。
安装
  • 解压
    如果不是通过wget下载的,通过xftp将下载的包上传到服务器/use/local下
    tar -zxvf harbor-offline-installer-v1.10.1.tgz
    
    证书
    • 获取域名的SSL证书
      这里的域名格式如下: https://hub.youdname.com youdname表示你的域名
      可以通过以下的方式得到SSL证书:
      方式一(土豪推荐):花钱买
      方式二(首选推荐):自签名的泛域名证书;ACME.sh 使用指南,Let’s Encrypt的签发使用;此方式会麻烦一些,但是申请的是泛域名的证书,一劳永逸,之后的所有二级域名都可以使用这个证书;并且证书会定时更新,不会过期;
      // 成功之后可以得到以下两个证书
      1-hub.youdname.com.crt
      2-hub.youdname.com.key
      
      方式三(推荐):通过腾讯云或者阿里云申请免费的证书,有效期为一年;免费SSL证书实现https请求;免费没法申请泛域名证书;但是申请起来会比较简单,过期需要自己重新事情;
      // 成功之后可以得到以下两个证书
      youdname.com.crt
      youdname.com.key
      
    配置
    • 进入解压目录
      cd /usr/local/harbor
      // 创建用于保存数据的数据的目录
      mkdir -p /home/docker/harbor/data
      
    • 修改harbor.yml 主需要修改以下配置
       // 第一个参数,域名
       hostname: hub.youdname.com
       // http的端口,建议不要设置为8080,容易和其他服务冲突
       http.port: 880
       // https端口
       https.port: 443
       https.certificate: 你的ssl证书路径/hub.youdname.com.crt
       https.private_key: 你的ssl证书路径/hub.youdname.com.key
       
       // 管理员密码
       harbor_admin_password: 自己定义
       
       // 数据库密码
       database.password: 数据库密码,自己定义,也可以不该
      
       // 存储数据的路径
       data_volume: /home/docker/harbor/data(可更改)
      
    • 启动
      cd /usr/local/harbor
      ./install.sh
      
      启动会分为5步
      第一步:检查Docker安装
      第二步:检查docker-compose安装
      第三步:下载关联的镜像

      第四步:初始化配置
      第五步:启动服务

Nginx代理配置

可以通过Nginx,统一入口,代理到Harbor的服务

  • 配置

    server {
      listen 80;
      listen 443 ssl;
      server_name hub.youdname.com(根据个人的解析修改)
    
      ssl on;
      ssl_certificate 你的ssl证书路径/youdname.com.crt;
      ssl_certificate_key 你的ssl证书路径/youdname.com.key;
      ssl_session_cache shared:SSL:10m;
      ssl_session_timeout 5m;
      ssl_protocols TLSv1.1 TLSv1.2;
    
      client_max_body_size 0; # disable any limits to avoid HTTP 413 for large image uploads
    
      # required to avoid HTTP 411: see Issue #1486 (https://github.com/docker/docker/issues/1486)
      chunked_transfer_encoding on;
    
      upstream internal_docker_registry {
          server 192.168.1.123:443; # IP修改为你安装Harbor的地址
      }
      
      location / {
          proxy_pass https://internal_docker_registry;
          proxy_read_timeout 90;
    
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection $http_connection;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header X-Forwarded-Proto $scheme;
          proxy_cache_bypass $http_upgrade;
      }
    }
    
  • 重启NG
    sbin/nginx -s reload

测试
  • 访问管理平台
    https://hub.youdname.com

  • 推送测试

    具体使用就不说啦,界面很整洁,管理平台点吧点吧就知道怎么用了;

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一行Java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值