Docker存儲(chǔ)驅(qū)動(dòng)的選擇

翻譯自官網(wǎng):Docker storage drivers

名詞解釋

英文 中文
Storage drivers 存儲(chǔ)驅(qū)動(dòng)
理想的狀態(tài)是,幾乎沒有數(shù)據(jù)會(huì)被寫入容器可寫層,而且使用Docker volumes來寫數(shù)據(jù)。但是,一些工作場景要求你可以在容器可寫層寫入數(shù)據(jù)。這就引入了下面的存儲(chǔ)驅(qū)動(dòng)。
Docker 利用可插拔的架構(gòu)支持幾個(gè)不同的存儲(chǔ)驅(qū)動(dòng)。這種存儲(chǔ)驅(qū)動(dòng)在Docker宿主機(jī)上控制了鏡像和容器的管理和存儲(chǔ)。
當(dāng)你讀了storage driver overview之后,下一步就是為你的工作場景選擇最好的存儲(chǔ)驅(qū)動(dòng)。為了做出這個(gè)選擇,你需要考慮下面三個(gè)高級(jí)別的因素:
  • 如果你的內(nèi)核支持多種驅(qū)動(dòng),而且你沒有在Docker配置指定某種存儲(chǔ)驅(qū)動(dòng),Docker會(huì)根據(jù)下面場景列出存儲(chǔ)驅(qū)動(dòng)的優(yōu)先級(jí)。

    • 如果可能,使用最小配置量的存儲(chǔ)驅(qū)動(dòng),比如 btfs 或者 zfs。
    • 否則,在大多數(shù)應(yīng)用場景下嘗試使用最佳綜合性能的存儲(chǔ)驅(qū)動(dòng)。
      • 首選overlay2, 次之overlay。這兩者都不需要額外的配置。
      • devicemapper可以作為第三選擇,但是在生產(chǎn)環(huán)境推薦 direct-lvm,因?yàn)?loopback在零配置時(shí)性能極差。
    • 這些選擇的順序已經(jīng)在Docker源碼中定義好了。你可以在Docker CE 18.03 源碼 查看這個(gè)順序。你可以通過使用頂部的試圖選擇不同分支來查看不通版本。
  • 你的選擇往往要考慮Docker版本、操作系統(tǒng)和部署。例如,aufs 只支持UbuntuDebian,而或許需要安裝額外的包。btrfs 只支持 SLES, 并且只適用Docker EE。參考 Support storage drivers per Linux distribution。如下文中Docker CE的支持。

  • 一些存儲(chǔ)驅(qū)動(dòng)需要你在后臺(tái)文件系統(tǒng)使用特殊格式。如果你的文件系統(tǒng)有其他特殊要求,這將會(huì)限制你的選擇。參考Supported backing filesystems。 如下:

Storage driver Supported backing filesystems
overlay, overlay2 ext4, xfs
aufs ext4, xfs
devicemapper direct-lvm
btrfs btrfs
zfs zfs
  • 如果你已經(jīng)通過自己的工作環(huán)境條件和穩(wěn)定性的需求,縮小了選擇范圍??梢詤⒖? Other considerations 做出最終選擇。

每個(gè)Linux發(fā)行版所支持的存儲(chǔ)驅(qū)動(dòng)

Supported storage drivers per Linux distribution

最重要的是,你的Docker版本首先決定了支持哪些存儲(chǔ)驅(qū)動(dòng)
其次,Docker不推薦你因某些配置而關(guān)閉你的系統(tǒng)安全防護(hù)。比如你在CentOS上使用 overlay或者overlay2時(shí)關(guān)掉 selinux。

Docker EE和 CS-Engine

對(duì)于Docker EE和 CS-Engine, Product compatibility matrix 可以明確說明哪些存儲(chǔ)驅(qū)動(dòng)是被支持的。你必須使用可行的配置才能獲得Docker商業(yè)支持。

Docker CE

對(duì)于Docker CE, 只有一些配置是驗(yàn)證過的,可能你的操作系統(tǒng)內(nèi)核并不支持所有的存儲(chǔ)驅(qū)動(dòng)。Linux發(fā)行版通常使用下面的配置。
Linux distribution Recommended storage drivers
Docker CE on Ubuntu aufs, devicemapper, overlay2 (Ubuntu 14.04.4 or later, 16.04 or later), overlay, zfs, vfs
Docker CE on Debian aufs, devicemapper, overlay2 (Debian Stretch), overlay, vfs
Docker CE on CentOS devicemapper, vfs
Docker CE on Fedora devicemapper, overlay2 (Fedora 26 or later, experimental), overlay (experimental), vfs
如果可能,overlay2 應(yīng)該作為首選。當(dāng)?shù)谝淮伟惭bDocker的時(shí)候,overlay2被默認(rèn)使用。之前,是aufs被 默認(rèn)使用,現(xiàn)在已經(jīng)沒有這樣的用例了。如果你想在新安裝用aufs,一定要先配置好,并且安裝額外的包,比如:linux-image-extra。參考 aufs
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 近幾年 Docker 風(fēng)靡技術(shù)圈,不少從業(yè)人員都或多或少使用過,也了解如何通過 Dockerfile 構(gòu)建鏡像,從...
    43ce3d72fadb閱讀 1,902評(píng)論 0 2
  • 早上有個(gè)朋友問我:當(dāng)你看到不對(duì)的事情,你難道要當(dāng)一個(gè)盲人嗎?當(dāng)時(shí)我沉默,不知道如何回答。下午正好看到李開復(fù)的《向死...
    楓丹白露蘇眉魚閱讀 539評(píng)論 0 4
  • 人生的基本 1、一切自己負(fù)責(zé),指責(zé)他人無濟(jì)于事。 2、凡是忍耐,不要?jiǎng)硬粍?dòng)就暴怒。 3、珍惜當(dāng)下,過去不忘,做好的...
    不美千樹閱讀 428評(píng)論 0 2
  • 因?yàn)槟暌呀?jīng)過完,自然就想著,這一年有什么目標(biāo),有什么規(guī)劃。所有今天就一直在看這方面的書。下面分享一下我覺得值...
    愛陽陽愛讀書閱讀 191評(píng)論 0 1
  • 窗之外,鳥兒啾啾啾 春風(fēng)中 尋覓,尋覓 風(fēng)不懂鳥兒的心思 鳥兒不知風(fēng)兒的呢喃 江之邊,草兒青青 花兒艷艷 花不懂草...
    簡書杭杭閱讀 306評(píng)論 7 13

友情鏈接更多精彩內(nèi)容