zoukankan      html  css  js  c++  java
  • 微服务学习实战笔记 4.2-系统部署篇-搭建 Harbor 镜像仓库服务器

    搭建 Harbor 镜像仓库服务器

    重新创建一台服务器   HarborSERVER   192.168.2.170 , 按前面方式安装Docker

    1、在 docker/daemon.json  配置仓库地址

    vi /etc/docker/daemon.json
    

      

    {
        "insecure-registries": ["https://my.hub.com"]
    }

    2、重新启动docker

    systemctl daemon-reload && systemctl restart docker
    

      

    3、安装lrzsz包 

    yum -y install lrzsz

     下载 docker-compose 和 harbor安装文件:

      下载地址 :https://github.com/docker/compose/releases        我下载的是   docker-compose-Linux-x86_64-1.25.4  下载后将-Linux-x86_64 去掉

      下载地址 : https://github.com/goharbor/harbor/releases        我下载的是   harbor-offline-installer-v1.10.4.tgz

      将 docker-compose 拖拽到XShell中复制到harbor主机

      将 harbor-offline-installer-v1.10.4.tgz 拖拽到XShell中复制到harbor主机

    4、执行docker-compose相关操作

    mv docker-compose /usr/local/bin/
    chmod a+x /usr/local/bin/docker-compose
    

      

    5、执行harbor解压配置

    tar -zxvf harbor-offline-installer-v1.10.4.tgz
    mv harbor /usr/local/
    cd /usr/local/harbor
    vi harbor.yml
    

      

     hostname = reg.mydomain.com 或改成自己的  hostname = my.hub.com

     certificate: /data/cert/harbor.crt
     private_key: /data/cert/harbor.key

    6、创建相关证书

    1)

    # 创建证书目录,并赋予权限
    mkdir -p /data/cert && chmod -R 777 /data/cert && cd /data/cert
    # 生成私钥,需要设置密码
    openssl genrsa -des3 -out harbor.key 2048

      -输入并确认新密码  :例如   123456

    2)创建证书请求:

    # 生成CA证书,需要输入密码123456
    openssl req -sha512 -new 
        -subj "/C=CN/ST=BJ/L=BJ/O=org/OU=org/CN=my.hub.com" 
        -key harbor.key 
        -out harbor.csr
    

      或者逐个输入

    openssl req -new -key harbor.key -out harbor.csr

           -输入签名私钥的密码 :123456
           -输入国家名 :CN
           -输入省 :BJ
           -输入市 :BJ
           -输入组织 :org
           -输入机构 :org
           -输入域名 : my.hub.com
           -输入邮箱 :xxxxxx@163.com
           -改密码 : (不用直接回车)
           -改名 : (不用直接回车)

     3)将私钥备份一份:

    cp harbor.key harbor.key.org

    4)退掉私钥密码,以便docker访问(也可以参考官方进行双向认证):

    openssl rsa -in harbor.key.org -out harbor.key

      -输入签名私钥的密码 :123456

    5)使用证书进行签名:

    openssl x509 -req -days 365 -in harbor.csr -signkey harbor.key -out harbor.crt

    7、执行安装:

    cd 
    cd /usr/local/harbor 
    ./install.sh
    

      如下图安装完成

      

    8、 访问

    访问 https://my.hub.com  或 https://192.168.2.170 ,出现下图,输入 用户名:admin    密码(如没改过):Harbor12345

    9、启动关闭  Harbor

    进入目录

    cd /usr/local/harbor

    关闭Harbor服务,在项目目录下执行

    docker-compose down -v

    启动Harbor服务,在项目目录下执行

    docker-compose up -d

    配置Harbor开机自启(这块启动失败,还需要找具体原因),参考:关于harbor启动失败解决方法

    编辑服务文件

    vi /usr/lib/systemd/system/harbor.service

    写入以下内容

    [Unit]
    Description=Harbor
    After=docker.service systemd-networkd.service systemd-resolved.service
    Requires=docker.service
    Documentation=https://github.com/goharbor/harbor
    
    [Service]
    Type=simple
    Restart=on-failure
    RestartSec=5
    ExecStart=/usr/local/bin/docker-compose -f /usr/local/harbor/docker-compose.yml up
    ExecStop=/usr/local/bin/docker-compose -f /usr/local/harbor/docker-compose.yml down
    
    [Install]
    WantedBy=multi-user.target

    服务创建好后赋权,开启开机自启,启动服务,查看状态:

    chmod +x /usr/lib/systemd/system/harbor.service
    systemctl enable harbor.service
    systemctl start harbor.service
    systemctl status harbor.service
    

      

    10、其他服务器解析  my.hub.com

    在其他服务器查看是否解析

    cat /etc/hosts

    解析信息追加到hosts中

    echo "192.168.2.170 my.hub.com" >> /etc/hosts
    

    如果其他节点登录仓库或pull和push时出现下面错误,

    Error response from daemon: Get https://my.hub.com/v2/: x509: certificate signed by unknown authority

    需要从192.168.2.170 向其他节点拷贝证书

    在其他节点执行目录创建

    mkdir -p /etc/docker/certs.d/my.hub.com
    

    在192.168.2.170 节点执行证书拷贝

    #scp /data/cert/harbor.crt 其他节点IP:/etc/docker/certs.d/my.hub.com
    scp /data/cert/harbor.crt 192.168.2.171:/etc/docker/certs.d/my.hub.com
    

      

     参考资料

    最新版Harbor搭建(harbor-offline-installer-v1.10.1.tgz)

    关于harbor启动失败解决方法

    Docker入门之docker-compose

  • 相关阅读:
    EditorWindow 和MenuItem
    PropertyDrawer 自定义属性绘图
    NGUI3.5系列教程之 一些小功能的实现
    NGUI3.5系列教程之 UILabel
    关于Resources.LoadAssetAtPath
    C#调用Python 脚本语言
    unity项目实现“再按一次退出程序”提示功能
    在Visual Studio 2010 中创建类库(dll)
    Unity 优化
    JAVA package-info文件【转】
  • 原文地址:https://www.cnblogs.com/liuxtj/p/13566147.html
Copyright © 2011-2022 走看看