• 私有镜像仓库Harbor设置https、http访问


    Harbor自签名证书以https方式访问UI界面

    说明

    前文Centos7搭建Harbor私有仓库(一)中成功搭建了Harbor,但,是以http方式搭建的,这里我们修改为https方式及配置Docker以http方式访问私有仓库

    生成自签名证书

    这里我们使用https://github.com/Fishdrowned/ssl提供的shell脚本生成ssl证书,在命令行中输入以下命名:

    git clone https://github.com/Fishdrowned/ssl.git #将项目下载到本地

    项目的目录结构如下:

    .
    ├── LICENSE
    ├── README.md
    ├── ca.cnf
    ├── docs
    │   ├── chrome-certs-details.png
    │   ├── chrome-certs-ok.png
    │   ├── chrome-settings-certs-imported.png
    │   ├── chrome-settings-certs.png
    │   ├── chrome-trust.md
    │   └── output.png
    ├── flush.sh
    ├── gen.cert.sh
    └── gen.root.sh

    如果需要修改CA、证书相关信息,可以编辑ca.cnfgen.cert.sh替换对应的内容。接下来,输入以下命令生成ssl证书,

    ./gen.cert.sh registry.anxminise.cc #生成registry.anxminise.cc域名的证书

    目录中,会生成一个out目录,里面的registry.anxminise.cc目录存放了生成的证书,内容如下:

    .
    ├── 20181011-0710
    │   ├── registry.anxminise.cc.bundle.crt
    │   ├── registry.anxminise.cc.crt
    │   └── registry.anxminise.cc.csr.pem
    ├── registry.anxminise.cc.bundle.crt -> ./20181011-0710/registry.anxminise.cc.bundle.crt
    ├── registry.anxminise.cc.crt -> ./20181011-0710/registry.anxminise.cc.crt
    ├── registry.anxminise.cc.key.pem -> ../cert.key.pem
    └── root.crt -> ../root.crt

    其中,registry.anxminise.cc.crt是我们需要的证书,registry.anxminise.cc.key.pem是秘钥存储文件,将这两个文件上传到Harbor服务器,这里是192.168.1.112服务器

    配置Harbor的https证书

    Harbor服务器上执行以下命令

    mkdir -p /data/cert创建证书存放目录
    mv registry.anxminise.cc.crt /data/cert/server.crt #将证书放到Harbor配置目录下
    mv registry.anxminise.cc.key.pem /data/cert/server.key #将秘钥放到Harbor配置目录下
    ll /data/cert #查看目录内容

    配置Harbor以https启动

    cd /opt/harbor #进入到harbor目录
    vim harbor.cfg #编辑harbor的配置文件

    编辑以下内容:

    hostname = registry.anxminise.cc #配置harbor服务器的域名
    ui_url_protocol = https #配置https方式启动

    重新配置启动Harbor

    ./prepare #重新配置Harbor
    ./install.sh #重新执行Harbor安装,注:此处可能有更好的方式重启

    编辑hosts文件以域名方式访问

    cat /etc/hosts
    192.168.1.112 registry.anxminise.cc

    Docker以http访问Harbor私有仓库

    说明

    前文Centos7搭建Harbor私有仓库(一)我们成功搭建Harbor,本篇我们主要配置Docker以http方式访问私有仓库

    Docker配置

    Mac系统

    配置Docker

    Mac系统中配置Docker的Preferences -> DaemonInsecure registies中添加192.168.1.112,即:Harbor私服的ip地址,如下:

    登录私有仓库进行验证

    docker login 192.168.1.112

    Linux系统

    3.1.1 配置Docker

    /etc/docker新建daemon.json文件:

    mkdir -p /etc/docker #新建docker目录
    vim /etc/docker/daemon.json #新建daemon.json文件

    编辑内容如下:

    { "insecure-registries":["192.168.1.112"] }

    重启docker

    systemctl restart docker

    3.1.2 登录私有仓库进行验证

    docker login 192.168.1.112

     

    Docker以https访问Harbor私有仓库

     

    说明

    1. 前文Centos7搭建Harbor私有仓库(二)中,我们以https方式搭建了Harbor,本篇我们主要配置Docker以https方式访问Harbor私有仓库

    2 Docker配置

    2.1 Mac系统

    2.1.1 配置Docker

    Mac系统中只需配置Proferences -> Proxies使用System Proxy即可,如下:

    2.1.2 登录私服验证

    docker login registry.anxminise.cc #登录私服

    2.2 Windows系统

    待补充

    2.3 Linux系统

    2.3.1 配置registry.anxminise.cc域名

    编辑/etc/hosts:

    vim /etc/hosts

    文件最后部分,加入如下:

    192.168.1.112 registry.anxminise.cc

    2.3.2 配置Docker

    /etc/docker/certs.d目录下新建registry.anxminise.cc目录,

    mkdir -p /etc/docker/certs.d/registry.anxminise.cc

    https://github.com/Fishdrowned/ssl自签名生成的根证书,即out目录下的root.crt证书放到registry.anxminise.cc目录中,如下:

    重启docker:

    systemctl restart docker

    登录registry.anxminise.cc私服仓库:

    docker login registry.anxminise.cc

    本文出处:https://www.cnblogs.com/anxminise/ 

  • 相关阅读:
    关于 No buffer space available (maximum connections reached?): connect 的处理
    Cron 表达式
    Hudson 打包部署到Was上特别慢
    JAVA jar 参数
    CentOS 6 UNEXPECTED INCONSISTENCY RUN fsck MANUALLY
    SSH 连接很慢
    解决libc.so.6: version `GLIBC_2.14' not found问题
    Maven 基本参数
    Shc 应用
    JAVA 关于JNI本地库加载
  • 原文地址:https://www.cnblogs.com/ling-yu-amen/p/11176438.html
Copyright © 2020-2023  润新知