IT序号网

Docker 存储引擎知识解答

luoye 2021年06月13日 程序员 155 0
 
可插拔存储引擎架构

 
这种可插拔式的存储架构。可以让你很灵活的去选择适合自己环境的存储引擎。
每个存储引擎都是以Linux 文件系统为基础的。此外,每个存储引擎都以自己的方式自由的管理image层,container层。
也就是说每个种存储引擎在特定的情况下,表现的比其他的更好。
 
Docker只能运行一个存储引擎,所有的容器被daemon使用一样的存储引擎创建。
Dcoker支持的存储引擎:
 
docker info 命令查看daemon 中使用了哪个存储引擎:
zane@zane-V:~$ docker info 
Containers: 3 
 Running: 0 
 Paused: 0 
 Stopped: 3 
Images: 9 
Server Version: 1.12.5 
Storage Driver: aufs 
 Root Dir: /var/lib/docker/aufs 
 Backing Filesystem: extfs 
 Dirs: 25 
 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: 0 
Images: 0 
Storage Driver: devicemapper 
     Pool Name: docker-252:0-147544-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

发布评论
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Dcokerfile 参考知识解答
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。