BTRFS是下一代寫時復(fù)制文件系統(tǒng),它支持許多高級存儲技術(shù),使其非常適合Docker。Btrfs包含在主線Linux內(nèi)核中。
普安網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,普安網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為普安成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的普安做網(wǎng)站的公司定做!Docker的btrfs存儲驅(qū)動程序利用許多Btrfs功能進行圖像和容器管理。這些功能包括塊級操作,自動精簡配置,寫時復(fù)制快照和易于管理。您可以輕松地將多個物理塊設(shè)備組合到一個Btrfs文件系統(tǒng)中。
本文將Docker的Btrfs存儲驅(qū)動程序稱為btrfsBtrfs,將整個Btrfs文件系統(tǒng)稱為Btrfs。
前提條件
btrfs 如果滿足以下先決條件,則支持此功能:
Docker Engine-Community:btrfs僅在Ubuntu或Debian上建議使用Docker Engine-Community 。
更改存儲驅(qū)動程序?qū)⑹鼓呀?jīng)創(chuàng)建的所有容器在本地系統(tǒng)上均不可訪問。使用docker save保存的容器,并推動現(xiàn)有圖像多克爾集線器或私人倉庫,讓你不必再后來創(chuàng)建它們。
btrfs需要專用的塊存儲設(shè)備,例如物理磁盤。必須將此塊設(shè)備格式化為Btrfs并安裝到中/var/lib/docker/。下面的配置說明將指導(dǎo)您完成此過程。默認情況下,SLES/文件系統(tǒng)是使用BTRFS格式化的,因此對于SLES,您不需要使用單獨的塊設(shè)備,但是出于性能方面的考慮,您可以選擇這樣做。
btrfs支持必須存在于您的內(nèi)核中。要檢查這一點,請運行以下命令:
$ grep btrfs /proc/filesystems
btrfs
要在操作系統(tǒng)級別管理BTRFS文件系統(tǒng),您需要 btrfs命令。如果沒有此命令,請安裝btrfsprogs 軟件包(SLES)或btrfs-tools軟件包(Ubuntu)。
配置Docker以使用btrfs存儲驅(qū)動器
在SLES和Ubuntu上,此過程本質(zhì)上是相同的。
1.停止Docker。
2.將的內(nèi)容復(fù)制/var/lib/docker/到備份位置,然后清空的內(nèi)容/var/lib/docker/:
$ sudo cp -au /var/lib/docker /var/lib/docker.bk
$ sudo rm -rf /var/lib/docker/*
3.將一個或多個專用塊設(shè)備格式化為Btrfs文件系統(tǒng)。本示例假設(shè)您正在使用兩個名為/dev/xvdf和的 塊設(shè)備/dev/xvdg。仔細檢查塊設(shè)備名稱,因為這是破壞性操作。
$ sudo mkfs.btrfs -f /dev/xvdf /dev/xvdg
Btrfs還有更多選項,包括條帶化和RAID。請參閱 Btrfs文檔。
4.在/var/lib/docker/掛載點上掛載新的Btrfs文件系統(tǒng)。您可以指定用于創(chuàng)建Btrfs文件系統(tǒng)的任何塊設(shè)備。
$ sudo mount -t btrfs /dev/xvdf /var/lib/docker
別忘了通過向添加條目來使更改在重新啟動后永久生效/etc/fstab。
5.將的內(nèi)容復(fù)制/var/lib/docker.bk到/var/lib/docker/。
$ sudo cp -au /var/lib/docker.bk/* /var/lib/docker/
6.配置Docker以使用btrfs存儲驅(qū)動程序。即使/var/lib/docker/現(xiàn)在正在使用Btrfs文件系統(tǒng),這也是必需的。編輯或創(chuàng)建文件/etc/docker/daemon.json。如果是新文件,請?zhí)砑右韵聝?nèi)容。如果它是現(xiàn)有文件,則僅添加鍵和值,如果它不是結(jié)束大括號(})之前的最后一行,請小心以逗號結(jié)束。
{
storage-driver: btrfs
}
在守護程序參考文檔中查看每個存儲驅(qū)動程序的所有存儲選項
7.啟動Docker。運行后,確認btrfs已被用作存儲驅(qū)動程序。
$ docker info
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 17.03.1-ce
Storage Driver: btrfs
Build Version: Btrfs v4.4
Library Version: 101
<...>
8.準備好后,刪除/var/lib/docker.bk目錄。