centos7下安装docker(16.docker跨主机存储)
从业务数据的角度看,容器可以分为两类:无状态(stateless)容器和有状态(stateful)容器。
无状态:是指容器在运行的过程中不需要保存数据,每次访问的结果不依赖上一次的访问,比如提供静态页面的web服务器。
有状态:是指容器需要保存数据,而且数据会发生变化,访问的结果依赖之前的请求的处理结果,最典型的就是数据库服务器。
状态就是:数据,如果容器需要处理并存储数据,他就是有状态的,反之则无状态
对于有状态的容器,如何保存数据呢?
我们之前学习了data volume可以存储容器的状态,不过当时讨论的volume其本质是docker主机本地目录。
通过我们之前的学习我们知道,本地目录存在一个隐患:如果host主机宕机了,如何恢复容器?
一个办法是定期的备份数据,但这种方案还是会丢失从上次备份到宕机这段时间的数据。更好的方案是由专门的storage provider提供volume,docker从provider哪里获取volume并挂在到容器,这样即使host挂了,也可以立刻从其他可用的host上启动想通镜像的容器,挂载之前使用的volume,这样就不会有数据丢失。
举个栗子:
假设有两个docker 主机,Host1上运行了一个MYSQL容器,为了保护数据,data volume由storage provider提供,如盗图:

当host1发生故障,我们会在host2上启动相同的mysql,并挂载data volume

docker是如何实现跨主机管理data volume方案的呢?
答案是:volume driver
任何一个data volume都是由driver管理的,创建爱你volume时如果不特别指定,将使用local类型的driver,即:从docker host的本地目录中分配存储空间。如果要支持跨主机的volume,则需要使用第三方driver
目前已经有很多可用的driver,比如使用Azure file storage的driver,使用glusterfs的driver,完整的列表可以参考:https://docs.docker.com/engine/extend/legacy_plugins/#volume-plugins
我们这里将选择Rex-Ray driver,其原因是:
1.Rex-Ray是开源的,而且社区活跃
2.支持多种backend,virtualbox的virtual media,amazon ebs,ceph rbd,openstack cinder等
3.支持多种操作系统,ubuntu,centos,rhel,coreos
4.支持多种容器编排引擎,docker swarm,kubernetes和mesos
5.Rex-Ray安装使用方法非常简单
centos7下安装docker(16.docker跨主机存储)的更多相关文章
- Centos7下安装与卸载docker应用容器引擎
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Li ...
- centos7下安装docker(16.1docker跨主机存储--Rex-Ray)
一.Rex-Ray以standalone进程的方式运行在docker主机上,安装方法很简单:在docker1和docker2上运行如下命令: curl -sSL https://dl.bintray. ...
- docker(一) Centos7下安装docker
docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...
- centos7下安装docker(24docker swarm 数据管理)
service的容器副本会scal up/down,会failover,会在不同的主机上创建和销毁,这就引出一个问题,如果service有数据,那么这些数据该如何存放呢? 1.打包在容器中: 显然不行 ...
- Docker学习之Centos7下安装
Docker学习之Centos7下安装 centos7 64下直接使用yum安装docker环境,步骤如下: 卸载旧版本docker sudo yum remove docker docker-com ...
- CentOS7下安装docker(Docker系列1)
CentOS7下安装docker 系统要求 为了安装docker,需要准备 64-bit的CentOS 7 删除非官方的Docker包 yum的仓库中有一个很旧的Docker包, 现在Docker官方 ...
- centos7下安装docker与镜像加速
1.背景 centos7下安装docker 2.安装 第一步:检查是否为centos7版本 第二步:依赖环境安装 执行如下两个命令: yum -y install gcc yum -y install ...
- Docker学习笔记3:CentOS7下安装Docker-Compose
Docker-Compose是一个部署多个容器的简单但是非常必要的工具. 安装Docker-Compose之前,请先安装 python-pip,请参考我的另一篇博文CentOS7下安装python-p ...
- Docker容器的跨主机连接
Docker容器的跨主机连接 Docker容器的跨主机连接 使用网桥实现跨主机容器连接 网络拓扑 网络连接使用的是Bridge 操作 修改/etc/network/interfaces文件,分配静态I ...
- Docker学习(15) Docker容器的跨主机连接
Docker容器的跨主机连接 Docker使用网桥跨主机容器连接 Docker使用Open cSwitch实现跨主机容器连接 Docker使用weave实现跨主机容器连接
随机推荐
- (8)Jquery1.8.3快速入门_可见性选择器
一.Jquery的可见性选择器: 可见性选择器: 1.:visable 筛选可以见的元素 2. :hidden 筛选不可见的元素 效果: 源码: <!DOCTYPE html> <h ...
- css:Media Queries: How to target desktop, tablet and mobile?
<!doctype html> <html> <head> <meta name="viewport" content="wid ...
- layui 弹出框改变按钮颜色样式 自定义皮肤
1.在layer下新建文件夹和css 文件: 2.123.css body .layui-ext-yourskin .layui-layer-btn0{ border-color: #55ff83; ...
- 《JavaScript高级程序设计》笔记:JavaScript简介(一)
javascript从一个简单的输入验证器发展成为一门强大的编程语言,完全出乎人们的意料. javascript实现一个完整的javascript实现应该由下列三个不同的部分组成:1:核心(ECMAS ...
- Android项目实战(四十一):游戏和视频类型应用 状态栏沉浸式效果
需求: 手机app ,当打游戏或者全屏看视频的时候会发现这时候手机顶部的状态栏是不显示的,当我们从手机顶端向下进行滑动或手机底端向上滑动的时候,状态栏会显示出来,如果短暂的几秒时间没有操作的话,状态 ...
- Javascript数组系列二之迭代方法1
我们在<Javascript数组系列一之栈与队列 >中介绍了一些数组的用法.比如:数组如何表现的和「栈」一样,用什么方法表现的和「队列」一样等等一些方法,因为 Javascript 中的数 ...
- SAP 销售条件表增强栏位
有时遇到一个比较特殊的业务,比如公司间免费订单,既要让价格为0,不读取VK11里创建的价格, 又要让公司间的价格读取VK11,这实际上是有矛盾的,也就是说一个订单里面的两行,物料一样,客户一样,就会出 ...
- 记录一次spark连接mysql遇到的问题
版权声明:本文为博主原创文章,未经博主允许不得转载 在使用spark连接mysql的过程中报错了,错误如下 08:51:32.495 [main] ERROR - Error loading fact ...
- Scala路径依赖【内部类】
package big.data.analyse.scala.path_dependence /** * 路径依赖 * Created by zhen on 2018/12/24. */ // 定义外 ...
- 【公众号系列】SAP S/4 HANA 1809请查收
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[公众号系列]SAP S/4 HANA 1809 ...