• 7.docker私有registry


    一、Docker Registry分类

    Registry用于保存docker镜像,包括镜像的层次结构和元数据。都是基于https或者http工作的。

    用户可自建Registry,也可使用官方的Docker Hub。

    分类:

    • Sponsor Registry:第三方的registry,供客户和Docker社区使用;
    • Mirror Registry:第三方的registry,只让客户使用;
    • Vendor Registry:由发布docker镜像的供应商提供的registry;
    • Private Registry:通过设有防火墙和额外的安全层的私有实体提供的registry。

    二、制作私有registry

    运行方式:安装RPM包 -- docker-distribution;registry也被运行为容器,docker官方有提供镜像;使用harbor来构建本地私有registry。

    1、通过RPM包安装 docker registry

    [root@oracle ~]# yum install docker-registry -y
    [root@oracle ~]# rpm -ql docker-distribution
    [root@oracle ~]# cat /etc/docker-distribution/registry/config.yml #配置文件,可以更改监听,镜像存储位置等
    [root@oracle ~]# systemctl start docker-distribution
    [root@oracle ~]# docker tag mynginx:v0.3-2 192.168.42.133:5000/mynginx:v0.3-2
    [root@oracle ~]# docker push 192.168.42.133:5000/mynginx:v0.3-2 # 默认基于https工作,所以会报错
    [root@oracle ~]# vim /etc/docker/daemon.json
    {
      "registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"],
      "insecure-registries": ["192.168.42.133:5000"],
      "bip": "10.10.1.2/16"
    }
    [root@oracle ~]# docker push 192.168.42.133:5000/mynginx:v0.3-2  #推送成功,默认放在/var/lib/registry/下

    2、运行为容器

    与常规运行容器相同,官方已提供镜像(docker search registry)但由于容器中数据随容器的生命周期结束而丢失,所以我们需要为其提供专门的存储卷。

     3、使用Harbor来搭建

    (1)介绍

    Harbor是一个企业级的仓库应用程序,是VMWare在docker distribution的基础上做的二次开发项目,提供了很多额外程序和Web界面。

    Harbor官方为了简化安装,把harbor做成了在容器中运行的应用。由于harbor的运行依赖于MySQL、Redis等很多存储系统,所以需要多个容器协同工作。因此需要使用docker的单机容器编排工具docker compose(yum info docker-compose,docker-compose可做的操作很多,有兴趣官网了解)。

    (2)安装Harbor

     github:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md  #去GitHub上下载部署文件

    [root@oracle ~]# yum install docker-compose -y
    [root@oracle soft]# tar xf harbor-offline-installer-v1.9.0.tgz 
    [root@oracle soft]# mv harbor /usr/local/
    [root@oracle harbor]# vim /usr/local/harbor/harbor.yml  #按需修改配置文件,包括主机名,管理员初始密码,数据库初始密码等,然后安装
    [root@oracle harbor]# ./install.sh 

     

     

     此时,浏览器访问http://192.168.42.133/harbor/sign-in?redirect_url=%2Fharbor%2Fprojects,使用admin/Harbor12345登录。

      web页面新建一个test项目,然后去推送镜像到此仓库,然后web页面就可以查看刚刚推送的镜像了。

    [root@node1 ~]# docker tag nginx:1.14-alpine node1.cmxu.com/test/nginx:apline
    [root@node1 ~]# docker login node1.cmxu.com 
    [root@node1 ~]# docker push node1.cmxu.com/test/nginx:apline
    # 重启docker进程后,也需要重启Harbor
    [root@node1 ~]# docker-compose --help
    [root@node1 ~]# docker-compose down
    [root@node1 ~]# docker-compose up -d

  • 相关阅读:
    Visual C++ 11 中新的并发功能
    Windows Azure Achievements for Visual Studio 发布
    视频:Pariveda解决方案帮助客户使用Windows Azure拓展商机
    ISV博客系列:本帖出自Fielding系统的创始人兼首席执行官
    2012新版微软一站式示例代码浏览器正式发布 包含Windows Azure代码示例!
    现实世界的Windows Azure:采访Soluto的创始人Tomer Dvir
    Hello China操作系统运行截图(完整版)
    ISV客户博客系列:Persistent Systems 使用Windows Azure交付基于Java的CloudNinja项目
    行业操作系统示例汽车操作系统
    上海的主要商务区域
  • 原文地址:https://www.cnblogs.com/cmxu/p/11674322.html
Copyright © 2020-2023  润新知