企业级docker-registry原生镜像仓库高可用部署
简介:
私有镜像仓库可以方便企业,或个人开发者共享内部镜像而不会泄漏私有代码,而且可以加速镜像的拉取。能更加方便得集成到容器化的 CI/CD 中去。也可建立自己的公共镜像仓库。
优势:
Docker Registry的优点如下:
(1)Docker Registry的最大优点就是简单,只需要运行一个容器就能集中管理一个集群范围内的镜像,其他机器就能从该镜像仓库下载镜像了。
(2)在安全性方面,Docker Registry支持TLS和基于签名的身份验证。
(3)Docker Registry也提供了Restful API,以提供外部系统调用和管理镜像库中的镜像
部署架构图:

环境准备:


开始部署:
1.	基础环境配置(两台节点都要配置)
(1) 配置主机名
#hostnamectl set-hostname registry01.example.com
#hostnamectl set-hostname registry02.example.com
(2) 配置节点hosts
#cat /etc/hosts
1.1.1.130 registry.example.com
1.1.1.129 registry02.example.com
1.1.1.128 registry01.example.com
(3) 关闭防火墙
#systemctl stop firewalld
#systemctl disable firewalld

(4)	开启IPtables
#yum install -y iptables-services
#systemctl start iptables
#systemctl enable iptables

(5)	关闭selinux
#vi /etc/selinux/config
#setenforce 0
#getenforce

(6)	配置yum源

(7)	配置节点时间同步服务
#yum install –y chronyd
#vi /etc/chrony.conf    //添加时间同步服务器地址
#systemctl restart chronyd
#timedatectl

2.	存储配置(两台节点都要配置)
(1)	查看本地磁盘sdb
#lsblk
(2)	设置LVM分区
#pvcreate /dev/sdb
#vgcreate docker_vg /dev/sdb
#lvcreate -l +100%FREE -n docker_lv docker_vg

# mkfs.xfs /dev/docker_vg/docker_lv

(3)	为docker挂载本地目录
#blkid
#vi /etc/fstab

(4)	为镜像仓库目录挂载NFS存储
#mkdir –p  /data/registry
#vi /etc/fstab
1.1.1.214:/sdsfs/registrynfs/ /data nfs defaults 0 0

3.	服务配置(两台节点都要配置)
(1)	节点安装docker V1.13.1 并设置开机自动启动
#yum install docker –y
#systemctl enable docker
(2) 节点安装docker-distribution并设置开机自动启动
#yum install docker-distribution –y
#systemctl enable docker-distribution
(3) 节点设置自动挂载并启动服务
# mount –a
#df –h

# systemctl start docker
# systemctl start docker-distribution
(4)	修改docker-distribution 的配置文件并重启
#vi /etc/docker-distribution/registry/config.yml

# systemctl restart docker-distribution
(5)	节点设置非安全镜像仓库并上传registry-ui 镜像
#vi /etc/sysconfig/docker

#systemctl restart docker
下载registry-ui 的镜像 (docker hub地址 https://hub.docker.com/r/jc21/registry-ui )
docker pull jc21/registry-ui:2.0.2

#docker tag jc21/registry-ui:2.0.2 registry.example.com/registry/registry-ui:2.0.2
#docker images

(6)	节点放行iptables 规则,允许端口被访问
#vi /etc/sysconfig/iptables

-A INPUT -p tcp --dport 5000 -j ACCEPT
-A OUTPUT -p tcp --sport 5000 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A OUTPUT -p tcp --sport 80 -j ACCEPT
!注意顺序
#systemctl restart iptables
(7)	节点安装registry-ui 并检查
# docker run -d -p 80:80 --restart=always -e REGISTRY_HOST=registry.example.com -e REGISTRY_SSL=false -e REGISTRY_DOMAIN=registry.example.com -e REGISTRY_STORAGE_DELETE_ENABLED=true --name registry-ui  registry.example.com/registry/registry-ui:2.0.2
(8)	浏览器访问registry-ui (访问地址:http://registry.example.com:8080)

企业级docker-registry原生镜像仓库高可用部署的更多相关文章
- 搭建docker registry私有镜像仓库
		
搭建docker registry私有镜像仓库 一.安装docker-distribution yum install -y docker-distribution 安装完成后,启动服务: syste ...
 - Docker容器管理平台Rancher高可用部署——看这篇就够了
		
记得刚接触Rancher时,看了官方文档云里雾里,跟着官网文档部署了高可用Rancher,发现不管怎么折腾都无法部署成功(相信已尝试的朋友也有类似的感觉),今天腾出空来写个总结,给看到的朋友留个参考( ...
 - 6.docker的私用镜像仓库registry
		
docker方式启动镜像仓库 / # cat /etc/docker/registry/config.yml version: 0.1 log: fields: service: registry s ...
 - 手动搭建Docker本地私有镜像仓库
		
实验环境:两个Centos7虚拟机,一个是Server,用作客户端,另一个是Registry,用作Docker私有镜像仓库. 基础配置 查看一下两台虚拟机的IP地址 Server的IP地址是192.1 ...
 - Docker Registry 管理镜像
		
一.使用Docker Registry管理镜像 a.登陆docker hub https://www.docker.com/products/docker-hub b.创建仓库 c.推送镜像 打 ...
 - 利用docker实现私有镜像仓库
		
利用docker实现私有镜像仓库 在linux服务器上安装了docker过后,可以拉取docker镜像仓库: docker pull registry 再执行命令让镜像run起来: docker ru ...
 - vivo 基于原生 RabbitMQ 的高可用架构实践
		
一.背景说明 vivo 在 2016 年引入 RabbitMQ,基于开源 RabbitMQ 进行扩展,向业务提供消息中间件服务. 2016~2018年,所有业务均使用一个集群,随着业务规模的增长,集群 ...
 - Linux下安装docker,更改镜像仓库地址,并部署springboot应用
		
今天做不成的事,明天也不会做好. 各位同学大家好,随着docker的快速发展,越来越多的人开始使用,一方面随着容器化这个趋势越来越火,docker成为了其中的佼佼者:二来容器化确实降低了运维的门槛,让 ...
 - kubernetes 1.15.1 高可用部署 -- 从零开始
		
这是一本书!!! 一本写我在容器生态圈的所学!!! 重点先知: 1. centos 7.6安装优化 2. k8s 1.15.1 高可用部署 3. 网络插件calico 4. dashboard 插件 ...
 
随机推荐
- newifi3-D2 openwrt挂载u盘扩容/overlay
			
格式化U盘 1.openwrt安装插件 opkg install fdisk swap-utils kmod-usb-storage kmod-fs-ext4 e2fsprogs kmod-usb-o ...
 - Python练习题 019:求分数序列之和
			
[Python练习题 019] 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和. --------------------------------- ...
 - 078 01 Android 零基础入门  02 Java面向对象 01 Java面向对象基础 01 初识面向对象 03 创建类
			
078 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 03 创建类 本文知识点:创建类 说明:因为时间紧张,本人写博客过程中只是对知识点的关 ...
 - 059 01 Android 零基础入门  01 Java基础语法 06 Java一维数组 06 增强型for循环
			
059 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 06 增强型for循环 本文知识点:增强型for循环 增强型for循环格式 案例练习增强型for循环 数组名字 ...
 - protoc-c 安装记录
			
记录下 protobuf-c 安装过程中的问题. 1) 安装的时候没细看依赖. -- protobuf-c requires a C compiler, a C++ compiler, protob ...
 - sessionFactory' defined in class path /mappingDirectoryLocations配置问题
			
问题:配置好aplicationContext.xml,启动tomcat 出现如下问题 sessionFactory无法正常建立 Context initialization failed org.s ...
 - 2014年 实验二 B2C网上购物
			
实验二 B2C网上购物 [实验目的] ⑴.熟悉虚拟银行和网上支付的应用 ⑵.熟悉并掌握消费者B2C网上购物和商家的销售处理 [实验条件] ⑴.个人计算机一台 ⑵.计算机通过局域网形式接入互联网 (3) ...
 - 增强for循环的用法
			
一.增强for循环 增强for循环的作用: 简化迭代器的书写格式.(注意:增强for循环的底层还是使用了迭代器遍历.)增强for循环的适用范围: 如果是实现了Iterable接口的对象或者是数组对象都 ...
 - MeteoInfoLab脚本示例:获取一维数据并绘图
			
气象数据基本为多维数据(通常是4维,空间3维加时间维),只让数据中一维可变,其它维均固定即可提取一维数据.比如此例中固定了时间维.高度维.纬度维,只保留经度维可变:hgt = f['hgt'][0,[ ...
 - HCIA——应用层常用协议
			
DNS协议 1.什么是DNS协议呢? DNS协议简单来说就是为IP取一个别名的系统(叫域名如www.baidu.com),最终目的是便于我们记忆. 一个域名可能有多个IP,同样一个IP可能也会有多个域 ...