发布时间:2020-02-25 22:51:17来源:阅读:
本文介绍Docker存储驱动的特性。列出Docker支持的存储驱动以及管理它们相关的命令。最后,为你在选择存储驱动时提供数据参考。
Docker的存储驱动架构设计成可插拔的,这可以让你能根据你的环境和使用场景灵活地选择使用一个存储驱动。每个Docker存储驱动基于Linux文件系统或卷管理器。此外,每个存储驱动器以其自己独特的方式自由地实现镜像数据层和容器数据层的管理。这意味着一些存储驱动在不同的情况下会比其它的驱动会有更好的表现。
一旦你决定了哪个驱动对于你是最好的,你可以在Docker启动时设置为这个驱动。Docker daemon只能运行一个存储驱动,之后所有由docker daemon创建的容器都使用同样的存储驱动。下面的表格显示docker支持的存储驱动技术及它们驱动的名称:
要找出目前docker daemon使用的是哪个存储驱动,可以使用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 ...
info子命令显示出Docker使用的存储驱动是overlay,Backing Filesystem为extfs。extfs值意思是overlay存储驱动在现有的ext文件系统之上操作。Backing Filesystem指的是在/var/lib/docker创建docker主机本地存储区域的文件系统。你能选择使用哪些存储驱动部分取决于你计划在哪个backing filesystem创建docker主机本地存储区域。一些存储驱动能在不同的backing filesystems上操作。不过有些存储驱动需要与存储驱动相同的backing filesystem。例如btrfs存储驱动需要Btrfs backing filesystem。下面的表格列出每个存储驱动以及是否必须匹配主机backing filesystem:
你可以在dockerd命令传递–storage-driver=
下面的命令显示如何使用dockerd命令以及–storage-driver参数来设置存储驱动为devicemapper:
$ 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 Data Space Total: 107.4 GB Data Space Available: 3.174 GB Metadata Space Used: 1.479 MB Metadata Space Total: 2.147 GB Metadata Space Available: 2.146 GB Thin Pool Minimum Free Space: 10.74 GB Udev Sync Supported: true Deferred Removal Enabled: false Data loop file: /var/lib/docker/devicemapper/devicemapper/data Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata Library Version: 1.02.90 (2014-09-01) Execution Driver: native-0.2 Logging Driver: json-file Kernel Version: 3.19.0-15-generic Operating System: Ubuntu 15.04 <output truncated>
你选择的存储驱动会影响你容器化应用的性能。所以理解不同的存储驱动可用选项并为你的应用选择一个合适的驱动很重要。最后,在本文你会找到帮助你选择一个适合的驱动的建议。
有几个因素会影响存储驱动的选择。不过这两个因素要特别注意:
1.没有哪个驱动非常适合每一个使用场景 2.存储驱动在不断改进和发展考虑到这些因素,以下应该能为你提供一些指导。
为了最稳定和良好的docker体验,你应该考虑以下:
使用默认的存储驱动。当docker安装时,它会根据你系统的配置选择一个默认的存储驱动。稳定性是影响选择一个默认的存储驱动的重要因素。更改这个默认驱动可能增加你使用docker的bug。 遵循CS Engine兼容性列表中指定的配置。CS Engine是Docker Engine的商业支持版本。它的代码库与开源Engine相同,不过它有一组受限的支持配置。这些支持的配置使用最稳定和成熟的存储驱动程序。选择一个你和你团队/组织有使用经验的存储驱动。例如,如果你使用的是RHEL或其下游分支之一,你可能已经具有LVM和Device Mapper的使用经验。如果是这样,你可能希望使用devicemapper驱动。
如果你对任何的存储驱动都没有使用经验,并且你想要一个易于使用的稳定的Docker体验,你应该考虑使用docker安装时设置的默认驱动。
许多用户认为docker未来存储驱动是OverlayFS。不过,它还不太成熟,对于已经成熟的驱动如aufs和devicemapper不够稳定。由于这个原因,你应该慎重使用OverlayFS驱动,并且作好相对于使用一个更成熟驱动遇到更多bug的准备。
下面的图表列出的每一个存储驱动的优势和劣势。在选择要使用的存储驱动程序时,请考虑下表提供的指导以及上述要点。
OverlayFS有两个使用相同的OverlayFS技术但是不同的实现及硬盘存储的不兼容的存储驱动。由于存储上不兼容,在两者之间切换需要重建所有的镜像。overlay驱动是原始的实现,是Docker 1.11和之前版本的唯一选项。overlay驱动具有已知的inode耗尽问题以及提交性能的限制。overlay2驱动解决了这些问题,不过仅与Linux内核4.0及更高的版本兼容。对于使用4.0之间的内核或已存在overlay graph的用户,推荐继续使用overlay。对于使用至少4.0内核版本的,或所需overlay graph数据的用户,那么可以使用overlay2。
驱动总裁下载
287.73M
AnyDVD HD(DVD电影驱动程序) v8.5.5.2 官方版
16.3MB
Driver Reviver(驱动检测) v5.27.2.16 中文版
16.8M
IObit Driver Booster Pro(驱动程序更新工具) v6.5.0.421破解版
24.9MB
SD卡存储卡数据恢复软件
5.5 MB
pl sql developer(Oracle数据库存储程序单元的开发软件)2021 免费版
25.2M
usb3.0驱动(硬件驱动安装工具) v6.6 绿色版
8.67MB
virtual drive manager(虚拟驱动器管理工具) V1.32 绿色版
0.21MB
win7网卡驱动(WIN7系统网卡驱动程序)加强版
8.1M
万能声卡驱动下载
5.53MB
万能摄像头驱动(摄像头驱动程序)2011.3 正式版
18.97MB
坚果云(云存储软件) v4.3.7 免费版
1.42 MB
映美fp730k打印机驱动 v2.0 官方版
9.1M
电子文档管理系统(电子文档存储管理的软件) v1.5 最新版
7.7M
虚拟声卡(声卡驱动程序) V2.1 中文版
1.97MB
袋鼠存储下载
97.06M
dx9.0c下载
104.1M
setpoint下载
82.9M
天翼云盘客户端 v5.1.6.0
32.36 MB
奔图p1000下载
90M
2020-03-04
CentOS 6.x 上搭建docker
使用触控板品牌是ELANTECH (KTP)的Lenovo系列笔记本,如何将触控板禁用?
如何查看联想显示器的编号(家用、商用)
Win10系统下新建本地账户
联想一体机、台式机设置自动开机的方法
Redis查漏补缺:最易错过的技术要点大扫盲
ERROR: module is read only
彻底删除系统中的残留硬件(如何删除以前安装过的网卡 )
使用sed对nginx配置文件进行删除和列出虚拟主机操作