• centos搭建docker镜像Harbor仓库的简明方法


    在kubernetes集群中如果要部署springcloud这样的应用,就必须有一个自建的docker镜像中心仓库。

    它的目的有两点: 1. 镜像拉取速度快  2. 开发好维护

    而Harbor是一个非常好用的docker本地仓库

    所以本篇文章来讲讲如何在部署Harbor仓库

    首先系统版本最低要求:

    System requirements:

    On a Linux host: docker 17.06.0-ce+ and docker-compose 1.18.0+ .

     也就是docker版本要大于17.06.0-ce+ , docker-compose版本要大于 1.18.0+ 。

    否则没法安装。

    docker升级方法: 

    先卸载:

    yum remove docker \
                     docker-client \                   

                      docker-client-latest \
                      docker-common \
                       docker-latest \
                       docker-latest-logrotate \
                       docker-logrotate \
                       docker-engine
     

    再重新安装

    yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin

     docker-compose最好通过pip安装(这样能自动解决依赖问题)

    python3通常会自带pip, 如果是python 2, 则这样安装pip

    wget https://bootstrap.pypa.io/pip/2.7/get-pip.py

    python get-pip.py

    然后pip安装 docker-compose

    pip install docker-compose

     这些重要依赖安装以后,然后到harbor官网下载安装包:Releases · goharbor/harbor · GitHub

     

     下载harbor安装包

     proxychains4 wget https://github.com/goharbor/harbor/releases/download/v2.9.1/harbor-offline-installer-v2.9.1.tgz  

    // 注意:我这里使用了proxychains4加速下载,具体用法可以自行搜索

     然后解压安装包:

    tar -xvf harbor-offline-installer-v2.9.1.tgz

     进入安装目录

    cd harbor

     生成自建ssl证书:

    #创建证书目录

    mkdir sslcert 

    cd sslcert

    #执行创建证书脚本

    ./gencert.sh

     以下是创建证书脚本的内容

    1. #!/bin/bash
    2. domain="registry.myharbor.com" # 此处写harbor仓库的自定义域名
    3. rm -f ca* ${domain}.* full_chain*
    4. echo "开始生成证书------------"
    5. openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key \
    6. -subj "/C=TW/ST=Taibei/L=Taibei/O=mycom/OU=Personal/CN=MyCA" \
    7. -x509 -days 36500 -out ca.crt
    8. openssl req -newkey rsa:4096 -nodes -sha256 -keyout ${domain}.key \
    9. -subj "/C=TW/ST=Taibei/L=Taibei/O=mycom/OU=Personal/CN=${domain}" \
    10. -out ${domain}.csr
    11. openssl x509 -req -in ${domain}.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out ${domain}.crt -days 36500

    鉴于docker信任自建证书的方法没什么卵用,所以这里就不再拷贝证书到/etc/docker/certs.d/域名目录了,因为确实没有什么鸟用。

    然后修改harbor.yml.tmpl文件

     然后修改该文件的下面三处内容:

    1. harbor仓库域名

    2. 指定自建http证书和key的路径

    3. 指定harbor仓库的管理员密码(docker push的时候会用到)


     然后把harbor.yml.tmpl重命名为harbor.yml,

     cp harbor.yml.tmpl harbor.yml

     记住:这一步很重要,否则后面会报错:no config file: /opt/harbor/harbor.yml

     然后开始安装harbor:

    ./install.sh

     至此harbor仓库安装完成,此时harbor仓库已经启动。

    可以通过自定义域名访问harbor仓库:

     注意:因为harbor是通过docker-compose管理的,所以以下是docker-compose管理harbor的命令

    // 切换到harbor的安装目录

    docker-compose up -d  // 启动harbor并在后台运行 (harbor没有启动时候执行该命令)

    docker-compose down // 删除所有harbor容器

    docker-compose restart // 重启所以harbor容器

    docker-compose stop   // 停止所有harbor容器

    docker-compose start // 启动所以已停止的harbor容器

  • 相关阅读:
    C语言文件系统相关函数
    nginx 配置 proxy_next_upstream 会出现未预期 502 错误问题排查
    大数据项目实战之数据仓库:电商数据仓库系统——第10章 数仓开发之DWS层
    力扣每日一题79:单词搜索
    气传导蓝牙耳机哪款好?精选五款值得入手的气传导耳机分享
    大厂秋招真题【模拟】OPPO20230802秋招提前批T2-小欧的圆覆盖【欧弟算法】全网最全大厂秋招题解
    Linux用户权限切换
    java基于springboot+vue的旅游管理系统前后端分离 elementui
    C/C++教程 从入门到精通《第一章》—— 初识C/C++
    网络编程 lesson6 服务器模型和网络超时检测
  • 原文地址:https://blog.csdn.net/jiaohuizhuang6019/article/details/134445034