• Docker Harbor&&Docker Registry


    目录

    介绍

    Harbor和Registry的比较

    搭建Dokcer Harbor

    Docker Registry安装


    介绍

    Harbor,是一个英文单词,意思是港湾,港湾是干什么的呢,就是停放货物的,而货物呢,是装在集装箱中的,说到集装箱,就不得不提到Docker容器,因为docker容器的技术正是借鉴了集装箱的原理。所以,Harbor正是一个用于存储Docker镜像的企业级Registry服务。

    Registry是Dcoker官方的一个私有仓库镜像,可以将本地的镜像打标签进行标记然后push到以Registry起的容器的私有仓库中。企业可以根据自己的需求,使用Dokcerfile生成自己的镜像,并推到私有仓库中,这样可以大大提高拉取镜像的效率。

    Harbor和Registry的比较

    Harbor和Registry都是Docker的镜像仓库,但是Harbor作为更多企业的选择,是因为相比较于Regisrty来说,它具有很多的优势。


    1.提供分层传输机制,优化网络传输
    Docker镜像是是分层的,而如果每次传输都使用全量文件(所以用FTP的方式并不适合),显然不经济。必须提供识别分层传输的机制,以层的UUID为标识,确定传输的对象。
    2.提供WEB界面,优化用户体验
    只用镜像的名字来进行上传下载显然很不方便,需要有一个用户界面可以支持登陆、搜索功能,包括区分公有、私有镜像。
    3.支持水平扩展集群
    当有用户对镜像的上传下载操作集中在某服务器,需要对相应的访问压力作分解。
    4.良好的安全机制
    企业中的开发团队有很多不同的职位,对于不同的职位人员,分配不同的权限,具有更好的安全性。
    5.Harbor提供了基于角色的访问控制机制,并通过项目来对镜像进行组织和访问权限的控制。kubernetes中通过namespace来对资源进行隔离,在企业级应用场景中,通过将两者进行结合可以有效将kubernetes使用的镜像资源进行管理和访问控制,增强镜像使用的安全性。尤其是在多租户场景下,可以通过租户、namespace和项目相结合的方式来实现对多租户镜像资源的管理和访问控制。

    搭建Dokcer Harbor

    下载Harbor安装包

    1. 下载链接
    2. https://github.com/goharbor/harbor/releases

    解压并配置

    1. tar zxvf harbor-offline-installer-v2.8.0.tgz -C /usr/local/
    2. [root@localhost harbor]# cp harbor.yml.tmpl harbor.yml
    3. [root@localhost harbor]# vim harbor.yml
    4. hostname: 192.168.43.254
    5. port: 20080
    6. harbor_admin_password: Harbor12345
    7. 注释https
    8. #https:
    9. # https port for harbor, default is 443
    10. #port: 443
    11. # The path of cert and key files for nginx
    12. #certificate: /your/certificate/path
    13. #private_key: /your/private/key/path
    14. [root@localhost harbor]# ./install.sh

    安装docker-compose

    1. [root@localhost ~]# yum -y install docker-compose
    2. 启动docker harbor
    3. [root@localhost ~]# docker-compose up -d

    浏览器访问本机IP+20080

    默认账号密码:

    admin

    Harbor12345

     

    Docker Registry安装

    docker run -d -p 5000:5000  -v /zzyyuse/myregistry/:/tmp/registry --privileged=true registry

    将镜像修改符合私服规范的Tag

    1. 格式: docker tag 镜像:Tag Host:Port/Repository:Tag
    2. docker tag centos:7.9 192.168.43.254:5000/centos:7.9

    修改配置文件使之支持http

    1. [root@localhost ~]# vim /etc/docker/daemon.json
    2. {
    3. "registry-mirrors": ["https://piakvb1k.mirror.aliyuncs.com"],
    4. "insecure-registries": ["192.168.43.254:5000"]
    5. }

    push推送到私服库

    docker push 192.168.43.254:5000/centos:7.9

    curl验证私服库上有什么镜像

    curl -XGET http://192.168.43.254:5000/v2/_catalog
    

    将私有仓库的镜像pull到本地

    docker pull 192.168.43.254:5000/centos:7.9

  • 相关阅读:
    linux c socket编程里SO_REUSEADDR的作用
    Tomcat 异步组件 —— Nio2Endpoint
    一起学数据结构(10)——排序
    Python矩阵乘法 二重循环实现 + 列表推式
    Hessian协议详解
    技术分享 | 测试平台开发-前端开发之数据展示与分析
    mybatis
    Linux 高级指令
    React基础教程(07):条件渲染
    【原创】浅谈指针(十)链表的写法
  • 原文地址:https://blog.csdn.net/weixin_58131623/article/details/130383068