zoukankan      html  css  js  c++  java
  • 简单记录搭建Harbor私服仓库

    一、本机环境

      ①系统镜像:CentOS7

      ②Docker:Docker version 19.03.5

      ③Docker-compose:docker-compose

    二、Docker安装

      参考官网安装即可:https://docs.docker.com/install/linux/docker-ce/centos/

    1、卸载旧版本

    $ sudo yum remove docker 
                      docker-client 
                      docker-client-latest 
                      docker-common 
                      docker-latest 
                      docker-latest-logrotate 
                      docker-logrotate 
                      docker-engine

    2、安装依赖包

    sudo yum install -y yum-utils 
      device-mapper-persistent-data 
      lvm2

    3、配置仓库

    sudo yum-config-manager 
        --add-repo 
        https://download.docker.com/linux/centos/docker-ce.repo

    4、安装社区版Docker

     sudo yum install docker-ce docker-ce-cli containerd.io

    5、启动docker

    sudo systemctl start docker

    6、运行hello-world

    sudo docker run hello-world

    三、Docker Compose安装

      参考官网安装:https://docs.docker.com/compose/install/

    1、下载compose

    sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    2、授权

    sudo chmod +x /usr/local/bin/docker-compose

    3、查看docker-compose版本号

    docker-compose -version

    4、出现以下截图说明安装成功

    以上安装较慢,以下方式也可行:

    ①cd /usr/local/bin/

    ②wget https://github.com/docker/compose/releases/download/1.14.0-rc2/docker-compose-Linux-x86_64

    ③rename docker-compose-Linux-x86_64 docker-compose docker-compose-Linux-x86_64

    ④chmod +x /usr/local/bin/docker-compose

    ⑤docker-compose -version

    四、Harbor安装

      官方GIthub地址:https://github.com/goharbor/harbor/releases(分为离线安装、在线安装,我这里采用离线安装)

    1、下载Harbor并上传至服务器

     

     2、解压

    tar -zxvf harbor-offline-installer-v1.2.0.tgz

    3、移动至/usr/local目录

    mv harbor /usr/local/

    4、创建https证书以及配置相关目录权限

    ①创建2048位证书密码

    openssl genrsa -des3 -out server.key 2048

    ②创建证书请求

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

     ③备份证书

    cp server.key server.key.org

    ④退秘钥(防止nginx启动报错)

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

    ⑤创建证书

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

    ⑥创建目录并拷贝证书

    mkdir -p /data/cert
    mv server.* /data/cert/

    ⑦授权

    chmod -R 777 /data/cert

    5、进入harbor目录

    ①cd /usr/local

     ②修改harbor配置文件:vim harbor.cfg(24行、25行有证书相关配置)

     ③执行安装脚本:./install.sh,静静等等安装即可。

     ④docker ps -a查看 

     

     核心组件:

      ①Proxy:nginx前端代理,代理Harbor的registry,UI,Token等服务

      ②jobservice:负责镜像复制

      ③ui:提供图形化界面

      ④db:负责存储用户权限、审计日志等数据

      ⑤adminserver:jobservice和ui启动时候需要加载其中的配置

      ⑥registry:镜像仓库(Docker官方)

      ⑦log:负责收集其他组件的log

    ⑤修改本地hosts文件解析域名(C:WindowsSystem32driversetchosts)

     ⑥浏览器访问:https://hub.rmitec.com/

     ⑦登录系统,用户名:admin,密码:Harbor12345

     ⑧创建一个用户:zs,并使用zs用户创建一个私有项目(创建用户过程略)

     ⑨在此可以查看到镜像推送命令提示

    注:此时是无法通过该命令推送的,原因是这个仓库是属于zs用户,不做认证是无法推送镜像的。

     10、上传镜像进行上传测试

    10.1指定镜像仓库地址
    vim/etc/docker/daemon.json

    添加以下内容:

    {"insecure-registries": ["serverip"] }
    View Code

    同样记得修改本地hosts文件映射(当然上一步可以直接配置IP)

     10.2 重启docker--systemctl restart docker
     10.3下载测试镜像:docker pull tomcat
     10.4给镜像重新打标签:docker tag tomcat hub.rmitec.com/system01/tomcat:v1.0
     10.5推送镜像至私有仓库

     10.6登陆私服,再次推送成功

    10.7通过管理页面查看,镜像已经推送成功

    11、客户端测试(另一台机器)

    11.1 指定仓库地址:vim /etc/docker/daemon.json

     配置本地hosts文件

     11.2重启docker:systemctl restart docker
     11.3拉取镜像:docker pull hub.rmitec.com/system01/tomcat:v1.0

     拉取失败,这里需要身份认证

     11.4登陆用户认证,再次拉取镜像

     11.5运行从Harbor拉取的tomcat镜像:docker run --name tomcat -p 80:8080 -d 6408fdc94212

     11.6浏览器访问:http://192.168.66.21/,可以看到通过拉取的tomcat:v1.0镜像运行的容器成功。ps:久违的三只脚猫咪~~~

        至此已经搭建完成Harbor私服,如有不正,欢迎指正!欢迎留言讨论问题,说不定你正在走的坑就是我走过的坑。哈哈~~~~

  • 相关阅读:
    C/C++中的abort、atexit、exit和_Exit
    从QQ聊天看交流的有效性
    HDU 1711 Number Sequence (KMP)
    pintos操作系统thread部分的实现
    搜狗面试的经典题(C++map按值排序,class struct的差别)
    SQL学习之使用order by 依照指定顺序排序或自己定义顺序排序
    选中多个或全中订单逻辑
    HDU 4415 Assassin's Creed(贪心)
    ashx文件中使用session提示“未将对象引用设置到对象的实例”
    .NET运行机制
  • 原文地址:https://www.cnblogs.com/rmxd/p/12013761.html
Copyright © 2011-2022 走看看