zoukankan      html  css  js  c++  java
  • Docker 私有仓库 Harbor registry 安全认证搭建 [Https]

    Harbor源码地址:https://github.com/vmware/harbor
    Harbort特性:
    基于角色控制
    用户和仓库都是基于项目进行组织的, 而用户基于项目可以拥有不同的权限。
    基于镜像的复制策略
    镜像可以在多个 Harbor 实例之间进行复制。
    支持 LDAP
    Harbor 的用户授权可以使用已经存在 LDAP 用户。
    镜像删除 & 垃圾回收
    Image 可以被删除并且回收 Image 占用的空间,绝大部分的用户操作 API, 方便用户对系统进行扩展。
    用户 UI
    用户可以轻松的浏览、搜索镜像仓库以及对项目进行管理。
    轻松的部署功能
    Harbor 提供了 online、offline 安装, 除此之外还提供了 virtual appliance 安装
    系统要求:
    docker 1.10.0 以上版本,安装文档:https://docs.docker.com/engine/installation/
    docker-compose 1.6.0 以上版本,安装文档:https://docs.docker.com/compose/install/
    软件安装:
    yum -y install certbot libevent-devel gcc libffi-devel python-devel openssl-devel python2-pip
    yum -y install docker
    启动 docker,使用如下命令行:
    systemctl start docker
    systemctl enable docker
    使用 pip 方式安装 docker-compose,使用如下命令:
    pip install -U docker-compose
    查看 docker-compose 的版本,如下:
    docker-compose version
    离线版本下载:
    https://github.com/vmware/harbor/releases
    以v1.1.2版本为例
    wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-offline-installer-v1.1.2.tgz
    mv harbor-offline-installer-v1.1.2.tgz /data/ && cd /data/
    tar xvf harbor-offline-installer-v1.1.2.tgz
    mkdir -p /data/harbor/cert
    切换工作路径切证书存放目录
    cd /data/harbor/cert
    创建CA根证书
    openssl req -newkey rsa:4096
    -nodes -sha256 -keyout ca.key -x509 -days 365
    -out ca.crt -subj "/C=CN/L=Shenzhen/O=lisea/CN=harbor-registry"
    生成一个证书签名, 设置访问域名为harbor.test.com
    openssl req -newkey rsa:4096
    -nodes -sha256 -keyout harbor.test.com.key
    -out server.csr -subj "/C=CN/L=Shenzhen/O=lisea/CN=harbor.test.com"
    生成主机证书
    openssl x509 -req -days 365
    -in server.csr -CA ca.crt -CAkey ca.key
    -CAcreateserial -out harbor.test.com.crt
    配置文件修改:
    vim harbor.cfg
    # 根据需求进行配置,至少修改 host 改为 harbor 服务器的 IP 地址或者域名
    hostname = harbor.test.com
    ui_url_protocol = https
    # 邮件相关信息配置,如忘记密码发送邮件
    email_server = smtp.163.com
    email_server_port = 25
    email_username = vip_star_hr@163.com
    email_password = xxxxxx
    email_from = docker <vip_star_hr@163.com>
    email_ssl = false
    # 设置证书路径
    ssl_cert = /data/harbor/cert/harbor.test.com.crt
    ssl_cert_key = /data/harbor/cert/harbor.test.com.key
    通过自带脚本一键安装
    sh install.sh
    通过浏览器访问管理 [提前设置本地hosts文件本地重定向至harbor服务器IP]
    https://harbor.test.com
    用户默认为 admin
    密码默认为 Harbor12345
    客户端使用测试
    创建 public 项目, 访问级别选择公开

    创建仓库证书存放目录
    mkdir /etc/docker/certs.d/harbor.test.com
    从 harbor 服务器获取证书至仓库证书目录
    scp root@harbor-server-ip:/data/harbor/cert/ca.crt /etc/docker/certs.d/harbor.test.com/ca.crt
    用户登陆[ 本地需要做 hosts harbor.test.com 域名重定向至 harbor 服务器 IP]
    docker login -u admin -p Harbor12345 harbor.test.com
    提示"Login Succeeded"既成功
    docker下载redis镜像:
    docker pull redis
    使用docker tag将镜像改名

    上传镜像到harbor仓库

    登录web查看镜像是否上传成功

    删除本地镜像
    docker rmi harbor.test.com/public/redis:v1.0.0
    从harbor中下载镜像
    docker pull harbor.lisea.cn/public/redis:v1.0.0
    其他说明:
    停止 Harbor 服务:
    $ docker-compose stop
    启动 Harbor 服务:
    $ docker-compose start
    如果需要修改 Harbor 的配置,首先需要停掉正在运行的 Harbor 实例,更新 harbor.cfg 文件,再次运行install.sh
    $ docker-compose down
    $ vim harbor.cfg
    $ sh install.sh
    删除 Harbor 容器,保存镜像文件和 Harbor 的数据库文件:
    $ sudo docker-compose rm
    删除 Harbor 的数据库信息和镜像文件 (一般为了纯净安装):
    $ rm -r /data/database
    $ rm -r /data/registry
    默认情况下,regirstry 的数据被持久化到目标主机的/data/目录,当 Harbor 的容器被删除或者重新创建的时候,数据不会有任何改变

  • 相关阅读:
    [转]浏览器退出之后php还会继续执行么?
    vim常用命令
    [转]自己写PHP扩展之创建一个类
    [转]用C/C++扩展PHP详解
    [转]PHP的执行流程,PHP扩展加载过程
    用扩展开发一个PHP类
    gcc
    Linux常用网络命令
    TCP-IP详解学习笔记1
    在Linux中调试段错误(core dumped)
  • 原文地址:https://www.cnblogs.com/Mrhuangrui/p/7477997.html
Copyright © 2011-2022 走看看