美文网首页
harbor搭建docker私有仓库,并开启https访问

harbor搭建docker私有仓库,并开启https访问

作者: MonSoonmmm | 来源:发表于2020-09-16 18:26 被阅读0次

    安装要求

    • 服务器内存最小要求4G,推荐8G
    • docker engine
    • docker-compose
    • openssl

    以下是docker-compose安装命令,docker-engine安装请自行百度,openssl一般Linux自带无需安装

    sudo curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    

    开始安装

    • 首先去github下载离线harbor安装包,我这里是最新的2.0.2 release版本
      harbor官方Github地址
      下载完成后解压,然后cd进入harbor目录下
    tar zxvf harbor-offline-installer-v2.0.2.tgz
    

    以下步骤为生成https证书操作,请替换掉所有的192.168.1.152为自己的服务器IP,均在解压后的harbor目录下操作,需要sudo权限

    sudo openssl genrsa -out ca.key 4096
    
    sudo openssl req -x509 -new -nodes -sha512 -days 3650 \
     -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=192.168.1.152" \
     -key ca.key \
     -out ca.crt
    
    
     sudo openssl genrsa -out 192.168.1.152.key 4096
    
     openssl req -sha512 -new \
        -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=192.168.1.152" \
        -key 192.168.1.152.key \
        -out 192.168.1.152.csr
    
    cat > v3.ext <<-EOF
    authorityKeyIdentifier=keyid,issuer
    basicConstraints=CA:FALSE
    keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
    extendedKeyUsage = serverAuth
    subjectAltName = IP:192.168.1.152
    EOF
    
    openssl x509 -req -sha512 -days 3650 \
        -extfile v3.ext \
        -CA ca.crt -CAkey ca.key -CAcreateserial \
        -in 192.168.1.152.csr \
        -out 192.168.1.152.crt
    
    mkdir -p /data/cert
    
    cp 192.168.1.152.crt /data/cert/
    cp 192.168.1.152.key /data/cert/
    
    openssl x509 -inform PEM -in 192.168.1.152.crt -out 192.168.1.152.cert
    
    mkdir -p /etc/docker/certs.d/192.168.1.152/
    
    cp 192.168.1.152.cert /etc/docker/certs.d/192.168.1.152/
    cp 192.168.1.152.key /etc/docker/certs.d/192.168.1.152/
    cp ca.crt /etc/docker/certs.d/192.168.1.152/
    

    配置harbor.yml

    • 基于模板文件复制出我们需要的harbor.yml
    cp harbor.yml.tmpl harbor.yml
    
    • vim打开harbor.yml并修改
    hostname: 192.168.1.152 #修改为自己的服务器IP
    
    http:
      port: 80 #默认80端口
    
    # https related config
    https:
      port: 443 #放开https443端口
      #修改证书路径为上一步创建的/data/cert/,
      certificate: /data/cert/192.168.1.152.crt 
      private_key: /data/cert/192.168.1.152.key
    harbor_admin_password: 12345678 #修改harbor管理页面admin密码,首次登录需要
    
    • 修改完配置文件后,运行 ./prepare,它会检查你前面做的配置是否正确
    • 继续执行./install.sh
    • 最后在用docker-compose重启下服务
    #停止服务: 
    docker-compose stop
    #开始服务: 
    docker-compose start
    
    • 打开浏览器输入192.168.1.152
      账号:admin
      密码:12345678
      浏览器会提示不安全,需要下载ca.crt到本地电脑安装证书,Windows环境下直接双击安装选择受信任的根证书即可。

    相关文章

      网友评论

          本文标题:harbor搭建docker私有仓库,并开启https访问

          本文链接:https://www.haomeiwen.com/subject/lzvxyktx.html