容器運行時的讀寫,都是透過儲存驅動來管理讀寫層的檔案系統,而這種額外的抽象操作,與直接透過主機文件系統寫入數據卷(Volume)相比,這種額外的抽象降低讀寫效能。
儲存驅動 | 支持的文件系統 |
---|---|
overlay2, overlay | xfs(ftype=1), ext4 |
aufs | xfs, ext4 |
devicemapper | direct-lvm |
btrfs | btrfs |
zfs | zfs |
vfs | any filesystem |
目前 docker 所支援的 Linux 發行版優先選擇的儲存驅動,不需要添加額外的配置即可使用。
內核版本需求 4.0以上
當 Ubuntu 內核不支援 overlay2 時,優先選擇該儲存驅動。
CentOS 和 RHEL 內核不支援 overlay2 時。推薦選擇該儲存驅動。檔案系統需要 direct-lvm,雖然 loopback-lvm
為零配置,但性能很差。
如果系統的檔案系統是 btrfs 或 zfs,儲存驅動則使用 btrfs 或 zfs。這些檔案系統允許使用進階選項(如:快照(snapshots)),但可能需要更多的維護和設定。
用於測試目的,或無法利用寫入時複製(copy-on-write)檔案系統的狀況時使用;其效能很差,不建議在生產中使用。
- Docker, MANAGE DATA IN DOCKER, English
- Docker, DOCKER STORAGE DRIVERS, English
- Wikipedia, UNION MOUNT, English