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

  • 相关阅读:
    /dev/tty /dev/ttyS0 /dev/tty0区别
    标准Makefile模板
    Linux Gcc常用命令
    使用mutt+msmtp在Linux命令行界面下发邮件
    DirSync: List of attributes that are synced by the Azure Active Directory Sync Tool
    批量硬关联本地AD帐号与Office云端帐号
    Linux下LDAPSearch的例子
    Powershell连接Office 365各组件的方法
    Shell下的正则表达式 (鸟哥私房菜)
    MySQL数据库管理常用命令
  • 原文地址:https://www.cnblogs.com/pengrj/p/13601943.html
Copyright © 2011-2022 走看看