第 6 章 存储 - 038 - Docker 的两类存储资源
存储资源
Docker 为容器提供了两种存放数据的资源:
- 由 storage driver 管理的镜像层和容器层
- Data Volume
1、storage driver
容器由最上面一个可写的容器层,以及若干只读的镜像层组成,容器的数据就存放在这些层中。
这样的分层结构最大的特性是 Copy-on-Write:
- 新数据会直接存放在最上面的容器层
- 修改现有数据会先从镜像层将数据复制到容器层,修改后的数据直接保存在容器层中,镜像层保持不变
- 如果多个层中有命名相同的文件,用户只能看到最上面那层中的文件
storage driver 实现了多层数据的堆叠并为用户提供一个单一的合并之后的统一视图。
Docker 支持的 storage driver 有:
1、AUFS
2、Device Mapper
3、Btrfs
4、OverlayFS
5、VFS
6、ZFS
它们都能实现分层的架构,同时又有各自的特性。
应该使用哪个 storage driver 是一个难题,因为:
1、没有哪个 driver 能够适应所有的场景
2、driver 本身在快速发展和迭代
Docker 官方推荐:优先使用 Linux 发行版默认的 storage driver。
Docker 安装时会根据当前系统的配置选择默认的 driver。默认 driver 具有最好的稳定性,因为默认 driver 在发行版上经过了严格的测试。
运行 docker info 查看 Ubuntu 的默认 driver:
对于某些容器,直接将数据放在由 storage driver 维护的层中是很好的选择,比如那些无状态的应用。
1、无状态容器:无状态意味着容器没有需要持久化的数据,随时可以从镜像直接创建。
例如: busybox,它是一个工具箱,不需要保存数据供以后使用,使用完直接退出
容器删除时存放在容器层中的工作数据也一起被删除
2、有状态容器:它们有持久化数据的需求,容器启动时需要加载已有的数据,容器销毁时希望保留产生的新数据
-------------------------------------------引用来自---------------------------------------------------
https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587706&idx=1&sn=a6c8320acc41fe47c7708b35360da473&chksm=8d3080e3ba4709f537a59137065b8d12cdb45c0fb71cd550302ed99ba2f895c0fcf8aa508a31&scene=21#wechat_redirect
第 6 章 存储 - 038 - Docker 的两类存储资源的更多相关文章
- Docker 的两类存储资源 - 每天5分钟玩转 Docker 容器技术(38)
我们从本章开始讨论 Docker 存储. Docker 为容器提供了两种存放数据的资源: 由 storage driver 管理的镜像层和容器层. Data Volume. 我们会详细讨论它们的原理和 ...
- 038、Docker 的两类存储资源(2019-02-27 周三)
参考https://www.cnblogs.com/CloudMan6/p/7127843.html Docker为容器提供了两种存放数据的资源: 1.由storage driver ...
- 36-Docker 的两类存储资源
我们从本章开始讨论 Docker 存储. Docker 为容器提供了两种存放数据的资源: 由 storage driver 管理的镜像层和容器层. Data Volume. 我们会详细讨论它们的原理和 ...
- centos7下安装docker(13.1docker存储--data volume)
我们现在知道docker 有两种存储方式:storage driver和data volume stroage driver这种存储方式主要是存储那些无状态的数据,是镜像层和容器层组成的,而data ...
- docker (2)---存储、网络(利用docker容器上线静态网站)
一.docker底层依赖的核心技术 1.命名空间 (Namespaces) 2.控制组 (Control Groups) 3.联合文件系统 (Union File System) 4.Linux 虚拟 ...
- docker 第五篇 存储
镜像概述复习 Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层 如果运行中的容器修改了现有的一个已经存在的文件,那改文件将会从读写层下面的只读 ...
- MySQL 的两种存储引擎
MyISAM 是MySQL的默认数据库引擎(5.5以后默认是InnoDB)性能极佳,但不支持事务处理. InnoDB 是MySQL的数据库常用的数据引擎. MyISAM 和 InnoDB 两者之间有明 ...
- Flocker 做为后端存储代理 docker volume-driver 支持
docker Flocker https://github.com/ClusterHQ/flocker/ 文档: https://docs.clusterhq.com/en/latest/docker ...
- MySQL两大存储引擎InnoDB与MyISAM
1.InnoDB存储引擎 MySQL5.5中InnoDB成为默认的存储引擎.InnoDB是事务型存储引擎,被设计用来处理大量的短期事务.它的性能和自动崩溃恢复特性,使得它在非事务场景中也很流行. 所以 ...
随机推荐
- java.util.concurrent.RejectedExecutionException: event executor terminated解决方法之一
INFO | jvm 1 | 2017/03/09 19:45:10 | java.util.concurrent.RejectedExecutionException: event executor ...
- 02: djangorestframework使用
1.1 djangorestframework登录.认证和权限 1.认证与权限相关模块 # -*- coding: utf-8 -*- from django.utils import six fro ...
- bzoj 2936 [Poi 1999] 降水 - 并查集
题目传送门 需要root权限的传送门 题目大意 有一个$n\times m$的网格图,每一格都有一个高度.一次降雨过后问最多能积多少水. 考虑算每一高度能储存的水的量. 如果小于等于这个高度的格子和边 ...
- AppStore 添加回复
itunes connect 评论位置 1, 2, 添加用户权限:除了管理和客户支持可以回复.开发人员等只有只读权限
- topcoder srm 335 div1
problem1 link 直接模拟即可. import java.util.*; import java.math.*; import static java.lang.Math.*; public ...
- SQL 多行合并一行
select stuff((select ',' + CONVERT(VARCHAR(50),id)+'' from tab_menu group by id for xml path('')), ...
- 论文笔记:ReNet: A Recurrent Neural Network Based Alternative to Convolutional Networks
ReNet: A Recurrent Neural Network Based Alternative to Convolutional Networks2018-03-05 11:13:05 ...
- 常用Iview样式布局
type 布局模式,可选值为flex流式布局或不选,在现代浏览器下有效 flex 布局下的垂直对齐方式,align可选值为top.middle.bottom flex 布局下的水平排列方式,justi ...
- Nuget EPPlus的使用
EPPlus:网站 Supported Functions Excel Merge Operate public class ExcelMergeOperate { private static Lo ...
- printf和cout的区别详述
https://blog.csdn.net/ysayk/article/details/50959909