zoukankan      html  css  js  c++  java
  • docker harbor

    前提须知:安装docker环境和docker-compose环境。

    创建Harbor

    1.访问github上的harbor项目
    https://github.com/goharbor/harbor
    
    2.下载版本,比如1.10.0
    https://github.com/goharbor/harbor/releases
    
    3.上传并解压
    tar -zxvf harbor-offline-installer-v1.10.0.tgz
    
    4.修改harbor.yml文件
    
    **vim harbor.yml**
    

    注意:yml必须在冒号后面加空格

    hostname: 192.168.1.14
    ui_url_protocol: https
    # https related config
    https:
      # https port for harbor, default is 443
      port: 443
      # The path of cert and key files for nginx
      certificate: /data/cert/ca.crt(你自己的证书地址)
      private_key: /data/cert/ca.key(你自己的私钥地址)
    

    5.执行./prepare

    6.执行./install.sh

    7.浏览器访问,比如192.168.1.14,输入用户名和密码即可(admin/Harbor12345)

    生成证书方式:

    1.创建证书存放目录
    mkdir -p /data/cert && cd /data/cert

    2.创建自己的CA证书(不使用第三方权威机构的CA来认证,自己充当CA的角色)
    openssl genrsa -out ca.key 2048 #生成根证书私钥(无加密)

    3.生成自签名证书(使用已有私钥ca.key自行签发根证书)
    openssl req -x509 -new -nodes -key ca.key -days 10000 -out ca.crt -subj "/CN=Harbor-ca"

    req     产生证书签发申请命令
    -x509   签发X.509格式证书命令。X.509是最通用的一种签名证书格式。
    -new    生成证书请求
    -key     指定私钥文件
    -nodes   表示私钥不加密
    -out    输出
    -subj    指定用户信息
    -days    有效期
    

    4.生成服务器端私钥和CSR签名请求
    openssl req -newkey rsa:4096 -nodes -sha256 -keyout server.key -out server.csr


    一路回车。。。

    5.签发服务器证书
    echo subjectAltName = IP:192.168.1.14 > extfile.cnf
    openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 365 -extfile extfile.cnf -out server.crt

    x509           签发X.509格式证书命令。
     -req           表示证书输入请求。
     -days          表示有效天数
     -extensions    表示按OpenSSL配置文件v3_req项添加扩展。
     -CA            表示CA证书,这里为ca.crt
     -CAkey         表示CA证书密钥,这里为ca.key
     -CAcreateserial表示创建CA证书序列号
     -extfile      指定文件
    

    6.设置docker证书

    # 如果如下目录不存在,请创建,如果有域名请按此格式依次创建
    mkdir -p /etc/docker/certs.d/192.168.1.14
    # mkdir -p /etc/docker/certs.d/[IP2]
    # mkdir -p /etc/docker/certs.d/[example1.com] 
    # 如果端口为443,则不需要指定。如果为自定义端口,请指定端口
    # /etc/docker/certs.d/yourdomain.com:port
    # 将ca根证书依次复制到上述创建的目录中
    cp ca.crt /etc/docker/certs.d/192.168.1.14
    

    PS:设置证书的方式解决https的ssl证书问题

    最终效果:

    扩展(上传docker镜像)

    1、登录
    docker login http://192.168.1.14:80
    
    2、登录私有hub创建项目
    例如项目叫:test
    
    3、给镜像打tag(这里以mysql镜像为例)
    docker tag mysql 192.168.1.14:80/test/mysql:1.0
    mysql: 镜像名称,可以用docker images 查看
    192.168.1.14:80:私有hub域名
    test:项目名称
    mysql:镜像名称
    1.0:镜像版本号
    
    4、推送
    docker push 192.168.1.14:80/test/mysql:1.0
    
  • 相关阅读:
    nginx配置zabbix下setup.php(web页面)无法显示,浏览器无法打开
    CentOS release 6.5下jdk1.7升级到1.8
    tcp流量控制
    图像处理服务器
    muduo rpc protobuf 实现学习
    p2p nat 穿透原理
    博客-livevent-stl-cpp-nginx
    使用eventfd创建一个用于事件通知的文件描述符
    多线程设计的类的思考!
    ftp协议服务器与tinyhttp服务demo
  • 原文地址:https://www.cnblogs.com/snail-gao/p/12046044.html
Copyright © 2011-2022 走看看