qianlei90 / Blog

那些该死的文字呦
https://qianlei.notion.site
103 stars 20 forks source link

深入docker存储(二):选择存储驱动 #39

Open qianlei90 opened 7 years ago

qianlei90 commented 7 years ago

深入docker存储(二):选择存储驱动

Tags: Docker 印象笔记

docker官方文档Select a storage driver的笔记。

[toc]

1. 可插拔的存储驱动架构

docker的存储驱动是基于Linux的文件系统的,在此之上,每一种存储驱动都有一套自己的管理镜像图层和容器图层的实现。可以用docker info来查看当前所使用的存储驱动。


$ docker info

Containers: 0

Images: 0

Storage Driver: overlay

 Backing Filesystem: extfs

Execution Driver: native-0.2

Logging Driver: json-file

Kernel Version: 3.19.0-15-generic

Operating System: Ubuntu 15.04

... output truncated ...

上面的输出指明docker正在使用overlay存储驱动,而其背后的文件系统是extfs。能否使用某种存储驱动,是跟主机的文件系统有关的,下图显示了这种依赖关系:

可以使用docked --storage-driver=<name>来指定存储驱动。

2. 选择合适的存储驱动

3. Overlay和Overlay2

overlayoverlay2都是OverlayFS,但是是不同的实现,并且不兼容,这意味着在这两种存储驱动间切换,会重现构建所有的镜像内容。overlay是早期的实现,在docker 1.11之前这是唯一的选择。overlay有inode限制,commit时有性能问题。overlay2解决了这些问题,但是只在Linux内核版本4.0之后才能使用。

- 完 - 2017/03/20