一、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

7.docker私有registry的更多相关文章

  1. 为docker私有registry配置nginx反向代理

    公司的Docker私有registry已经搭建好了,用官方的registry image很容易就搭建好了.现在就是要用nginx的反向代理把它放出来,以便在外网可以访问. 我的上一篇blog 讲了如何 ...

  2. 9、Docker私有registry

    Docker Registry分类 Docker 默认是使用https的,但是如果在自己得私有局域网中,你指明使用http也是可以的. Registry主要的作用是托管镜像: 运行docker reg ...

  3. Docker 私有registry出现的证书问题

    在上一篇 最近搭建的私有registry里,参考的文章指出,在push时可能出现问题: 可能会出现无法push镜像到私有仓库的问题.这是因为我们启动的registry服务不是安全可信赖的.这是我们需要 ...

  4. docker 私有registry 配置

    备注:此处使用linux镜像配置仓库 registry 启动步骤 https://hub.docker.com/_/registry/ docker login docker pull registr ...

  5. Docker 学习9 Docker私有registry

    一.docker registry分类 二.安装docker-hub提供的registry 1.安装 [root@localhost yum.repos.d]# yum install -y dock ...

  6. docker 私有registry harbor安装

    一,harbor安装: 参考:Installation and Configuration Guide 1,安装docker 2,安装docker compose sudo curl -L " ...

  7. docker网络 存储卷 Dockerfile 私有registry

    1.bridge模式 docker run --name bu1 -it --network bridge --rm busybox # 相当于 docker run --name bu1 -it - ...

  8. 建立docker私有库(docker registry)(转)

    建立docker私有库(docker registry) 博客分类: docker   我的目标还是无互联网安装,部署内部的docker私有库,目前docker镜像的获得还是需要互联网,将下载好的do ...

  9. Docker私有仓库 Registry中的镜像管理

    这里主要介绍Registry v2的版本 查看Registry仓库中现有的镜像: # curl -XGET http://10.0.30.6:5000/v2/_catalog# curl -XGET ...

随机推荐

  1. 前端必须掌握的 nginx 技能(1)

    概述 作为一个前端,我觉得必须要学会使用 nginx 干下面几件事: 代理静态资源 设置反向代理(添加https) 设置缓存 设置 log 部署 smtp 服务 设置 redis 缓存(选) 下面我按 ...

  2. 快速入门分布式消息队列之 RabbitMQ(2)

    目录 目录 前文列表 RabbitMQ 的特性 Message Acknowledgment 消息应答 Prefetch Count 预取数 RPC 远程过程调用 vhost 虚拟主机 插件系统 最后 ...

  3. HTML学习之==>CSS

    一.CSS选择器 id选择器 class选择器 标签选择器 标签层级选择器 class层级选择器 id层级选择器 id组合选择器 class组合选择器 属性选择器 <!DOCTYPE html& ...

  4. c++ 调用 sqlite

    #include <iostream> #include "sqlite3.h" using namespace std; void dbTest() { #pragm ...

  5. hibernate 1 连接数据库、操作表

    ormapping(对象关系映射):数据库操作框架 缺点: 1.因为hql语句是hibernate内部自动生成,程序员干预不了,不可把控 2.功能比较复杂时不建议使用 优点: 1.比较简单. 2.有数 ...

  6. Redis进阶:Redis的主从复制机制

    Redis进阶:Redis的主从复制机制 主从复制机制介绍 单机版的Redis存在性能瓶颈,Redis通过提高主从复制实现读写分离,提高了了Redis的可用性,另一方便也能实现数据在多个Redis直接 ...

  7. [转帖]socat使用笔记

    socat使用笔记 https://blog.csdn.net/yangbingzhou/article/details/49783235 进行简单学习 centos 下面安装 yum install ...

  8. kubeadm初始化kubernetes集群

    有两种方式安装集群: 1.手动安装各个节点的各个组件,安装极其复杂困难. 2.使用工具:kubeadm kubeadm 是官方提供的专门部署集群的管理工具. 1. 在kubeadm下每个节点都需要安装 ...

  9. Spring框架学习总结

    一.Spring概述 1.什么是Spring? Spring是一个优秀轻量级的框架,是Java中使用最多的框架,Spring框架具有轻量.控制反转.面向切面.容器.框架.MVC的特点. 2.Sprin ...

  10. Luogu P1084 [NOIP2012]疫情控制

    题目 首先我们二分一下答案. 然后我们用倍增让军队往上跳,最多先跳到根的子节点. 如果当前军队可以到达根节点,那么记录一下它的编号和它到达根节点后还可以走的时间. 并且我们记录根节点的叶子节点上到根节 ...