Open qianlei90 opened 7 years ago
Tags: Docker 印象笔记
docker官方文档Select a storage driver的笔记。
[toc]
docker的存储驱动是基于Linux的文件系统的,在此之上,每一种存储驱动都有一套自己的管理镜像图层和容器图层的实现。可以用docker info来查看当前所使用的存储驱动。
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。能否使用某种存储驱动,是跟主机的文件系统有关的,下图显示了这种依赖关系:
overlay
可以使用docked --storage-driver=<name>来指定存储驱动。
docked --storage-driver=<name>
overlay和overlay2都是OverlayFS,但是是不同的实现,并且不兼容,这意味着在这两种存储驱动间切换,会重现构建所有的镜像内容。overlay是早期的实现,在docker 1.11之前这是唯一的选择。overlay有inode限制,commit时有性能问题。overlay2解决了这些问题,但是只在Linux内核版本4.0之后才能使用。
overlay2
OverlayFS
- 完 - 2017/03/20
深入docker存储(二):选择存储驱动
Tags: Docker 印象笔记
docker官方文档Select a storage driver的笔记。
[toc]
1. 可插拔的存储驱动架构
docker的存储驱动是基于Linux的文件系统的,在此之上,每一种存储驱动都有一套自己的管理镜像图层和容器图层的实现。可以用
docker info
来查看当前所使用的存储驱动。上面的输出指明docker正在使用
overlay
存储驱动,而其背后的文件系统是extfs。能否使用某种存储驱动,是跟主机的文件系统有关的,下图显示了这种依赖关系:可以使用
docked --storage-driver=<name>
来指定存储驱动。2. 选择合适的存储驱动
3. Overlay和Overlay2
overlay
和overlay2
都是OverlayFS
,但是是不同的实现,并且不兼容,这意味着在这两种存储驱动间切换,会重现构建所有的镜像内容。overlay
是早期的实现,在docker 1.11之前这是唯一的选择。overlay
有inode限制,commit时有性能问题。overlay2
解决了这些问题,但是只在Linux内核版本4.0之后才能使用。- 完 - 2017/03/20