zoukankan      html  css  js  c++  java
  • Harbor镜像仓库安装及使用 (2020.9.2)

    Harbor简介

    Harbor(港口,港湾)是一个用于存储和分发Docker镜像的企业级Registry服务器。

    除了Harbor这个私有镜像仓库之外,还有Docker官方提供的Registry。相对Registry,Harbor具有很

    多优势:

    1. 提供分层传输机制,优化网络传输 Docker镜像是是分层的,而如果每次传输都使用全量文件(所以

    用FTP的方式并不适合),显然不经济。必须提供识别分层传输的机制,以层的UUID为标识,确定

    传输的对象。

    2. 提供WEB界面,优化用户体验 只用镜像的名字来进行上传下载显然很不方便,需要有一个用户界

    面可以支持登陆、搜索功能,包括区分公有、私有镜像。

    3. 支持水平扩展集群 当有用户对镜像的上传下载操作集中在某服务器,需要对相应的访问压力作分

    解。

    4. 良好的安全机制 企业中的开发团队有很多不同的职位,对于不同的职位人员,分配不同的权限,

    具有更好的安全性。

    Harbor安装

    1)先安装Docker并启动Docker, 参考之前的安装过程

    https://www.cnblogs.com/pengrj/p/13595357.html

    vim  /etc/docker/daemon.json

    {
    "registry-mirrors":["https://b9pmyelo.mirror.aliyuncs.com"],
    "insecure-registry":["192.168.369"]
    }

    2)先安装docker-compose (下载很慢)

    curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

    image

    如果以上2)步骤不正常,就使用一下安装

    Docker-compose安装步骤 https://docs.docker.com/compose/install/#install-compose

    3)给docker-compose添加执行权限

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

    4)查看docker-compose是否安装成功

    docker-compose --version

    image

    5)下载Harbor的压缩包

    yum -y  install wget

    wget https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.3.tgz
    下载很慢,文件太大,最终用迅雷下载在传上服务器

    6)上传压缩包到linux,并解压

    image

    tar -xzf harbor-offline-installer-v1.8.3.tgz
    mkdir /opt/harbor
    mv harbor/* /opt/harbor/

    cd /opt/harbor/

    7)修改Harbor的配置

    vi harbor.yml

    修改hostname和port

    hostname: 192.168.66.102

    port: 85

    image

    8)安装Harbor

    ./prepare

    ./install.sh

    image

    9)启动Harbor

    docker-compose up -d 启动

    docker-compose stop 停止

    docker-compose restart 重新启动

    10)访问Harbor

    http://192.168.3.69:85

    默认账户密码:admin/Harbor12345

    image

    在Harbor创建用户和项目

    1)创建项目

    Harbor的项目分为公开和私有的:

    公开项目:所有用户都可以访问,通常存放公共的镜像,默认有一个library公开项目。

    私有项目:只有授权用户才可以访问,通常存放项目本身的镜像。

    我们可以为微服务项目创建一个新的项目:

    image

    image

    2)创建用户

    image

    3)给私有项目分配用户

    进入test项目->成员

    image

    image

    image

    4)以新用户登录Harbor

    image

    把镜像上传到Harbor

    比如我是在192.168.3.89这台机构建镜像的,那以下操作都在3.89这台机器

    image

    1)给镜像打上标签

    docker tag proa 192.168.3.69:85/test/proa:v1

    2)推送镜像

    docker push 192.168.3.69:85/test/proa:v1

    这时会出现报错,是因为Docker没有把Harbor加入信任列表中 </DI< div>

    image

    3)把Harbor地址加入到Docker信任列表(是在本机,不是harbor3.69服务器上)

    vi /etc/docker/daemon.json

    {

    "registry-mirrors": ["https://zydiol88.mirror.aliyuncs.com"],

    "insecure-registries": ["192.168.3.69:85"]

    }

    image

    需要重启Docker

    systemctl   restart  docker

    4)再次执行推送命令,会提示权限不足

    denied: requested access to the resource is denied

    需要先登录Harbor,再推送镜像

    5)登录Harbor

    docker login -u casts -p 1989.coM 192.168.3.69:85

    docker push 192.168.3.69:85/test/proa:v1

    image

    image

    从Harbor下载镜像(也以3.89作为客户机)

    提示:基本和上传操作一样

    1)安装Docker,并启动Docker(已经完成)

    2)把Harbor地址加入到Docker信任列表(是在本机,不是harbor3.69服务器上)

    vi /etc/docker/daemon.json

    {

    "registry-mirrors": ["https://zydiol88.mirror.aliyuncs.com"],

    "insecure-registries": ["192.168.3.69:85"]

    }

    需要重启Docker

    systemctl   restart  docker

    3)登录Harbor

    docker login -u casts -p 1989.coM 192.168.3.69:85

    docker pull 192.168.3.69:85/test/proa:v1

  • 相关阅读:
    Codeforces 1485C Floor and Mod (枚举)
    CodeForces 1195D Submarine in the Rybinsk Sea (算贡献)
    CodeForces 1195C Basketball Exercise (线性DP)
    2021年初寒假训练第24场 B. 庆功会(搜索)
    任务分配(dp)
    开发工具的异常现象
    Telink MESH SDK 如何使用PWM
    Telink BLE MESH PWM波的小结
    [LeetCode] 1586. Binary Search Tree Iterator II
    [LeetCode] 1288. Remove Covered Intervals
  • 原文地址:https://www.cnblogs.com/pengrj/p/13601943.html
Copyright © 2011-2022 走看看