docker,選擇存儲驅動器

可插拔(pluggable)的存儲驅動架構

docker 支持多種存儲驅動器.每種驅動器基於文件系統或linux的卷管理系統. 在不一樣的環境下.各驅動器的性能特色各有不一樣.可根據須要本身選擇.linux

一個docker實例只可以使用一個存儲驅動器.docker

docker 支持下列存儲驅動:ubuntu

Technology Storage driver name
OverlayFS overlay
AUFS aufs
Btrfs btrfs
Device Mapper devicemapper
VFS* vfs
ZFS zfs

經過運行docker info查看正使用的驅動器.centos

[root@srv00 ~]# docker info
Containers: 5
 Running: 5
 Paused: 0
 Stopped: 0
Images: 12
Server Version: 1.11.1
Storage Driver: devicemapper
 Pool Name: docker-253:0-67305550-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: xfs
 ...

存儲驅動是devicemapper,底層文件系統是xfs.也就是本地的存儲區域/var/lib/docker所在的文件系統.架構

有些存儲驅動要求底層的文件系統必須符合條件.好比btrfszfs,有些則沒這個規定.app

經過運行參數--storage-driver讓docker使用指定的存儲驅動,或者設置DOCKER_OPTS變量.性能

$ docker daemon --storage-driver=overlay &

如何選擇合適的存儲驅動

有兩點須要注意:code

  1. 沒有一個驅動適合全部場景
  2. 存儲驅動老是在不斷改善和革新的.

牢記這兩點再來看看其餘方面it

穩定性(Stability)

  • 使用linux分發版的默認驅動器.

通常來講,默認的驅動器都是比較穩定的,修改爲非默認的可能會遇到bug等.io

使用經驗(Experience and expertise)

使用本身熟悉的.好比一直使用centos,比較熟悉LVMDevice Mapper,則使用devicemapper比較好.熟悉ubuntu的使用aufs較好.

遠瞻性(Future-proofing)

不少人認爲OverlayFS是將來的docker存儲驅動器.可是相比aufsdevicemapper,overlay還沒有穩定,可能還存在更多的bug,因此在使用時要千萬當心.

各驅動器的特色:

driver-pros-cons

//END

相關文章
相關標籤/搜索