简介:

私有镜像仓库可以方便企业,或个人开发者共享内部镜像而不会泄漏私有代码,而且可以加速镜像的拉取。能更加方便得集成到容器化的 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原生镜像仓库高可用部署的更多相关文章

  1. 搭建docker registry私有镜像仓库

    搭建docker registry私有镜像仓库 一.安装docker-distribution yum install -y docker-distribution 安装完成后,启动服务: syste ...

  2. Docker容器管理平台Rancher高可用部署——看这篇就够了

    记得刚接触Rancher时,看了官方文档云里雾里,跟着官网文档部署了高可用Rancher,发现不管怎么折腾都无法部署成功(相信已尝试的朋友也有类似的感觉),今天腾出空来写个总结,给看到的朋友留个参考( ...

  3. 6.docker的私用镜像仓库registry

    docker方式启动镜像仓库 / # cat /etc/docker/registry/config.yml version: 0.1 log: fields: service: registry s ...

  4. 手动搭建Docker本地私有镜像仓库

    实验环境:两个Centos7虚拟机,一个是Server,用作客户端,另一个是Registry,用作Docker私有镜像仓库. 基础配置 查看一下两台虚拟机的IP地址 Server的IP地址是192.1 ...

  5. Docker Registry 管理镜像

    一.使用Docker Registry管理镜像 a.登陆docker hub  https://www.docker.com/products/docker-hub b.创建仓库 c.推送镜像   打 ...

  6. 利用docker实现私有镜像仓库

    利用docker实现私有镜像仓库 在linux服务器上安装了docker过后,可以拉取docker镜像仓库: docker pull registry 再执行命令让镜像run起来: docker ru ...

  7. vivo 基于原生 RabbitMQ 的高可用架构实践

    一.背景说明 vivo 在 2016 年引入 RabbitMQ,基于开源 RabbitMQ 进行扩展,向业务提供消息中间件服务. 2016~2018年,所有业务均使用一个集群,随着业务规模的增长,集群 ...

  8. Linux下安装docker,更改镜像仓库地址,并部署springboot应用

    今天做不成的事,明天也不会做好. 各位同学大家好,随着docker的快速发展,越来越多的人开始使用,一方面随着容器化这个趋势越来越火,docker成为了其中的佼佼者:二来容器化确实降低了运维的门槛,让 ...

  9. kubernetes 1.15.1 高可用部署 -- 从零开始

    这是一本书!!! 一本写我在容器生态圈的所学!!! 重点先知: 1. centos 7.6安装优化 2. k8s 1.15.1 高可用部署 3. 网络插件calico 4. dashboard 插件 ...

随机推荐

  1. springboot集成swagger文档

    //此处省略springboot创建过程 1.引入swagger相关依赖(2个依赖必须版本相同) <dependency> <groupId>io.springfox</ ...

  2. (转载)CPU基础知识

    本文转载自网络. 如有侵权,请联系处理!   简介 中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Con ...

  3. 111 01 Android 零基础入门 02 Java面向对象 04 Java继承(上)02 继承的实现 01 继承的实现

    111 01 Android 零基础入门 02 Java面向对象 04 Java继承(上)02 继承的实现 01 继承的实现 本文知识点: 继承的实现 说明:因为时间紧张,本人写博客过程中只是对知识点 ...

  4. Java泛型的协变与逆变

    泛型擦除 Java的泛型本质上不是真正的泛型,而是利用了类型擦除(type erasure),比如下面的代码就会出现错误: 报的错误是:both methods  have same erasure ...

  5. vs code 编译python 输出到调试控制台

    如图所示,在debug菜单中点击齿轮按钮,进入launch.json,更改console选项的值(有三种) "console": "internalConsole&quo ...

  6. npoi 设置单元格格式

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. 接入WxPusher微信推送服务出现错误:Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported

    背景 使用WxPusher微信推送服务 ,可以及时的将服务的一些运行异常信息,发送到自己的微信上,方便了解服务的运行状态(PS:这个服务是免费的). 你可以在这里看到WxPusher微信推送服务的接入 ...

  8. Windows环境下vscode Live Server插件如何开启https

    0x01 vscode http插件 Live Server如何开启https 在本机端的开发环境下,如果要测试一些需要HTTPS的功能可以使用mkcert给自己颁发凭证 0x02 安装步骤如下: 1 ...

  9. HTML轮播(3)

    前言 现在给轮播加上可视化的点,实际这样的轮播已经算完成的了 CSS #LB { width: 100%; height: 948px; overflow: hidden; position:rela ...

  10. HTML轮播(2)

    前言 现在在完成轮播的框架上进行扩展更多的功能,上下切换图片,以及添加动画滚动更加平滑过渡 CSS <style> #LB { width: 100%; height: 948px; ov ...