docker的存储驱动选择,aufs和devicemapper比较

mapper存储驱动存在问题:

在镜像上创建一个大文件

exit退出后commit容器

镜像没有生成成功,但是磁盘占用满咯

强制删除存储目录,显示Device or resource busy

下次reboot重启的时候才能释放掉空间

网上推荐:

Aufs实现起来比较简单,但是由于其迟迟不能加入linux内核,导致兼容性差。目前,仅有Ubuntu支持。Devicemapper虽然实现起来复杂,但兼容性好。其存在的一点不足是,当metadata和data空间被耗尽时,需要重启Docker来扩充空间。

http://www.infoq.com/cn/articles/analysis-of-docker-file-system-aufs-and-devicemapper?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global

时间: 2024-10-17 10:27:35

docker的存储驱动选择,aufs和devicemapper比较的相关文章

聊一聊docker存储驱动

目录 镜像的分层特性 容器读写层的工作原理 写时复制 用时配置 Docker存储驱动 AUFS OverlayFS Devicemapper 常用存储驱动对比 AUFS VS OverlayFS OverlayFS VS Device mapper 镜像的分层特性 在说docker的文件系统之前,我们需要先想清楚一个问题.我们知道docker的启动是依赖于image,docker在启动之前,需要先拉取image,然后启动.多个容器可以使用同一个image启动.那么问题来了:这些个容器是共用一个i

Docker五种存储驱动原理及应用场景和性能测试对比

Docker最开始采用AUFS作为文件系统,也得益于AUFS分层的概念,实现了多个Container可以共享同一个image.但由于AUFS未并入Linux内核,且只支持Ubuntu,考虑到兼容性问题,在Docker 0.7版本中引入了存储驱动, 目前,Docker支持AUFS.Btrfs.Device mapper.OverlayFS.ZFS五种存储驱动.就如Docker官网上说的,没有单一的驱动适合所有的应用场景,要根据不同的场景选择合适的存储驱动,才能有效的提高Docker的性能.如何选择

Docker存储驱动之Device Mapper简介

Device Mapper是一个基于kernel的框架,它增强了很多Linux上的高级卷管理技术.Docker的devicemapper驱动在镜像和容器管理上,利用了该框架的超配和快照功能.为了区别,本文使用Device Mapper指驱动中的框架,而devicemapper指Docker的存储驱动. 注意:商业支持的Docker Engine(CS-Engine)建议在RHEL和CentOS上使用devicemapper存储驱动. AUFS之外的另一种选择 Docker最初运行在Ubuntu和

Docker存储驱动之OverlayFS简介

简介 OverlayFS是一种和AUFS很类似的文件系统,与AUFS相比,OverlayFS有以下特性: 1) 更简单地设计: 2) 从3.18开始,就进入了Linux内核主线: 3) 可能更快一些. 因此,OverlayFS在Docker社区关注度提高很快,被很多人认为是AUFS的继承者.就像宣称的一样,OverlayFS还很年轻.所以,在生成环境使用它时,还是需要更加当心. Docker的overlay存储驱动利用了很多OverlayFS特性来构建和管理镜像与容器的磁盘结构. 自从Docke

Docker存储驱动之ZFS简介

ZFS是下一代的文件系统,支持了很多存储高级特性,如卷管理.快照.和校验.压缩和重复删除技术.拷贝等. ZFS由Sun公司创建,现属于Oracle,ZFS是开源的,并基于CDDL license.因为CDDL和GPL不兼容,ZFS不能加入Linux kernel主线.然而,ZFS On Linux(ZoL)项目提供kernel模块和用户空间程序,这些都可以单独的安装. ZFS on Linux(ZoL)是一项成熟的技术,但是,现在却不建议在产品中使用zfs存储驱动,当然,除非你对ZoL有着丰富的

docker镜像与容器的联系、存储驱动

2.1 docker镜像与容器的联系.存储驱动什么是镜像?简单说,docker镜像是一个不包含Linux内核而又精简的Linux操作系统.镜像从哪里来?Docker hub是由docker公司负责维护的公共注册中心,包含了大量的容器镜像,docker工具默认从这个公共镜像库下载镜像:https://hub.docker.com/explore默认是国外的源,下载会慢,建议配置国内镜像仓库:[[email protected] ~]# vim /etc/docker/daemon.json{"re

Docker底层存储结构

Docker底层存储结构 由于aufs并未并入内核,故而目前只有Ubuntu系统上能够使用aufs作为docker的存储引擎,而其他系统上使用lvm thin provisioning(overlayfs是一个和aufs类似的union filesystem,未来有可能进入内核,但目前还没有:Lvm snapshot are useful for doing e.g. backup of a snapshot, but regress badly in performance when you

理解镜像、容器和存储驱动

理解镜像.容器和存储驱动 为了更有效地使用存储驱动,你必须理解Docker如何创建和存储镜像.接下来,需要理解容器是如何使用这些镜像的.最后,你需要一个对镜像和容器操作者都需要的技术简介. 镜像和图层layers 每一个Docker镜像都参考了一系列的只读层,这些层代表着文件系统的区别.层级是从底层开始,逐一建立组成容器的root文件系统.下面的图显示了Ubuntu镜像有4层: Docker的存储驱动是负责堆放这些层级并且提供一个统一的视图. 当你创建一个新的容器,你会在底层栈上加入一个新的.稀

Docker存储驱动devicemapper介绍和配置

devicemapper介绍 Device Mapper是Linux系统中基于内核的高级卷管理技术框架.Docker的devicemapper存储驱动就是基于该框架的精简置备和快照功能来实现镜像和容器的管理. 注:Device Mapper是Linux的一种技术框架,而devicemapper是Docker Engine基于Device Mapper提供的一种存储驱动. 早期的Docker运行在Ubuntu和Debian Linux上并使用AUFS作为后端存储.Docker流行之后,越来越多的的