可插拔存储引擎架构

 
这种可插拔式的存储架构。可以让你很灵活的去选择适合自己环境的存储引擎。
每个存储引擎都是以Linux 文件系统为基础的。此外,每个存储引擎都以自己的方式自由的管理image层,container层。
也就是说每个种存储引擎在特定的情况下,表现的比其他的更好。
 
Docker只能运行一个存储引擎,所有的容器被daemon使用一样的存储引擎创建。
Dcoker支持的存储引擎:
 

docker info 命令查看daemon 中使用了哪个存储引擎:
zane@zane-V:~$ docker info
Containers:
Running:
Paused:
Stopped:
Images:
Server Version: 1.12.
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs:
Dirperm1 Supported: true
...
...
Backing Filesystem,实际参照Docker 主机用来创建 /var/lib/docker所使用的文件系统。
 
使用哪种存储引擎,实际上部分由Backing Filesystem 的类型来决定的。
下表列出了每种存储引擎是否必须和本地后备文件系统匹配:
 

可以在docker命令行通过 --storage-driver=<name>选项 或 /etc/default/docker 文件 设置选项的 DOCKER_OPTS行
 
下面的命令设置存储引擎为 divicemapper:
 
$ dockerd --storage-driver=devicemapper &
$ docker info
Containers:
Images:
Storage Driver: devicemapper
Pool Name: docker-:--pool
Pool Blocksize: 65.54 kB
Backing Filesystem: extfs
Data file: /dev/loop0
Metadata file: /dev/loop1
Data Space Used: 1.821 GB
 
选择的存储引擎会直接影响到容器应用的性能。
 
很多公司会使用共享存储系统如:SAN,NAS.这提高了性能和可用性。
 
记住docker 存储引擎是以Linux 文件系统或者 数据卷管理 为基础的。
各存储引擎官方都给出了最佳实践的文档,使用前可以实践以确定是否合适当前环境。
 
选择哪个存储引擎?

 
选择的关键因素
  • 没有哪个存储引擎适合所有的场景
  • 存储引擎是在不断的改善和发展的
 
稳定性
  • 使用默认存储引擎
  • 遵循CS引擎兼容性中指定的配置。
 
经验和专业
 
前瞻性
 
各存储引擎的优缺点
 

总结
  • 可插拔存储引擎的架构

    • 存储引擎以主机文件系统为基础
  • 查看使用哪个存储引擎
    • docker info
  • 主要存储引擎
    • AUFS
    • overlay

最新文章

  1. ORACLE中的LTRIM、RTRIM和TRIM
  2. Leetcode: climbing stairs
  3. Python-03-基础
  4. ABAP ole方式对EXCEL进行操作
  5. &lt;构建之法&gt;第十一章、十二章有感
  6. Mongodb:修改文档结构后出现错误:Element &#39;***&#39; does not match any field or property of class ***.
  7. zoeDylan.ImgChange 图片切换插件
  8. Linux 日志文件utmp、wtmp、lastlog、messages
  9. 解决:warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;找到 MSIL .netmodule 或使用 /GL 编译的模块;正在。。;LINK : warning LNK4075: 忽略“/INCREMENTAL”(由于“/LTCG”规范)
  10. 表中相同数据的sql语句
  11. 半斤八两(创业兴家版 打工仔心声&#39;98 Remix)
  12. 在js传递参数中含加号(+)的处理方式
  13. linux查看用户登录信息-w命令
  14. JQuery UI Layout Plug-in布局
  15. SQL Server授权购买简单介绍
  16. windows7 下jdk1.8 改为 1.7过程,及环境变量配置;
  17. LeetCode 104. Maximum Depth of Binary Tree二叉树的最大深度 C++/Java
  18. update-rc.d使用
  19. curl传输文件实例
  20. 《C++ Primer Plus》16.1 string类 学习笔记

热门文章

  1. HttpRunnerManager 接口自动化测试平台 搭建实践
  2. 手机APP设计网
  3. 【Generate Parentheses】cpp
  4. NGUI 学习总结
  5. ogre3D,cegui配置问题
  6. C++ map 的用法归纳2
  7. 使用shell脚本生成数据库markdown文档
  8. python拼接
  9. Wordpress Uncaught TypeError: b(...).not(...).filter(...).mediaelementplayer is not a function
  10. Postgresql 查看建表语句 命令