zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    suse12安装详解
    Centos7上部署openstack mitaka配置详解(将疑难点都进行划分)
    菜鸟帮你跳过openstack配置过程中的坑[文末新添加福利]
    openstack中dashboard页面RuntimeError: Unable to create a new session key. It is likely that the cache is unavailable.
    Multiple network matches found for name 'selfservice', use an ID to be more specific.报错
    查看 SELinux状态及关闭SELinux
    SELinux深入理解
    IP地址、子网掩码、网络号、主机号、网络地址、主机地址
    Oracle job procedure 存储过程定时任务
    POI文件导出至EXCEL,并弹出下载框
  • 原文地址:https://www.cnblogs.com/cmxu/p/11674322.html
Copyright © 2011-2022 走看看