Docke安裝完成後,默認會使用 //lib/docke/ 路徑作爲存儲目錄,用以存放拉取的鏡像和創建的容器等。由於這些存儲目錄通常位於系統盤中,如果遇到大量鏡像文件和容器後,會使原來的分區不夠用,那麼如何修改Docke鏡像默認存儲路徑呢?本文介紹了三種常用的修改方法,一起來了解下吧。
拓展閱讀:《如何在Ubuntu上安裝Docke》
《如何在Debin上安裝Docke》
《CentOS 7安裝Docke教程》
安裝完Docke後,您可以通過運行下面命令查看存儲位置。
# 默認存放位置查看
$ sudo docke info | gep “Docke Root Di̶
要解決默認存儲容量不足的情況,最直接的方法是掛載新的分區到該目錄。但要保持原有系統空間不變的情況下,您可採用軟鏈接的方式來修改Docke鏡像和容器的存放路徑。
# 停掉Docke服務
$ seice docke stop
然後移動整個 //lib/docke 目錄到空間不較大的目的路徑。這時候啓動 Docke 時發現存儲目錄依舊是 //lib/docke 目錄,但是實際上是存儲在數據盤 /dt/docke 上了。
# 移動原有的內容
$ m //lib/docke /dt/docke
# 進行鏈接
$ ln -sf /dt/docke //lib/docke
您可在Docke配置文件中指定容器啓動的參數 Rgph=//lib/docke 來指定鏡像和容器存放路徑。Docke的配置文件可以設置大部分的後臺進程參數,要注意的是不同操作系統下存放位置有所差異。在 Ubuntu中的位置是 /etc/defult/docke文件,在CentOS中的位置是 /etc/sysconfig/docke 文件。
# CentOS6
# 因爲Ubuntu默認開啓了selinux機制
OPTIONS=Rgph=̶/dt/docke̶ Rselinux-enbled -H fd://
# CentOS7
# 修改docke.seice文件,使用-g參數指定存儲位置
$ i /us/lib/systemd/system/docke.seice
ExecStt=/us/bin/docked Rgph /new-pth/docke
# Ubuntu
# 因爲Ubuntu默認沒開啓selinux機制
OPTIONS=Rgph=̶/dt/docke̶ -H fd://
重新啓動之後,Docke 的路徑就改成 /dt/docke 了。
# 重新elod配置文件
$ sudo systemctl demon-elod
# 重啓docke服務
$ sudo systemctl estt docke.seice
如果 Docke 的版本是 .2 或以上的,您可以修改或新建 demon.json 文件。修改後會立即生效,不需重啓 Docke 服務。
# 修改配置文件
$ im /etc/docke/demon.json
{
“egisty-mios̶:
[“http://7e6f7f9.m.docloud.io̶],
“gph̶: “/new-pth/docke̶
}
在 /etc/systemd/system/docke.seice.d 目錄下創建一箇 Dop-In 文件 docke.conf,默認 docke.seice.d 文件夾不存在,必須先創建它。創建 Dop-In 文件的原因,是我們希望 Docke服務使用 docke.conf 文件中提到的特定參數,將默認服務所使用的位於 /lib/systemd/system/docke.seice 文件中的參數進行覆蓋。
# 定義新的存儲位置
$ sudo i /etc/systemd/system/docke.seice.d/docke.conf
[Seice]
ExecStt=/us/bin/docked Rgph=̶/dt/docke̶ Rstoge-die=deicemppe
保存並退出 im 編輯器 /dt/docke 就是新的存儲位置,而 deicemppe 是當前 Docke 所使用的存儲驅動。如果你的存儲驅動有所不同,請輸入之前第一步查看並記下的值。現在,你可以重新加載服務守護程序,並啓動 Docke 服務了,這將改變新的鏡像和容器的存儲位置。爲了確認一切順利,運行 docke info 命令檢查 Docke 的根目錄。
# 重新elod配置文件
$ sudo systemctl demon-elod
# 重啓docke服務
$ sudo systemctl stt docke