主頁(yè) > 知識(shí)庫(kù) > 修改Docker鏡像默認(rèn)存儲(chǔ)位置的方法(解決方法)

修改Docker鏡像默認(rèn)存儲(chǔ)位置的方法(解決方法)

熱門(mén)標(biāo)簽:怎么找到?jīng)]有地圖標(biāo)注的店 福州企業(yè)電銷(xiāo)機(jī)器人排名 麗江真人語(yǔ)音電話外呼系統(tǒng) 河南防封號(hào)電銷(xiāo)機(jī)器人是什么 宿城區(qū)電話機(jī)器人找哪家 上海申請(qǐng)高400開(kāi)頭的電話 10086外包用的什么外呼系統(tǒng) 400電話辦理介紹信 打400電話怎么辦理收費(fèi)

由于系統(tǒng)初始分區(qū)的原因,導(dǎo)致操作系統(tǒng)中對(duì)應(yīng) / 分區(qū)不會(huì)太大,通過(guò) /var 目錄不會(huì)單獨(dú)分區(qū)。如果上面運(yùn)行 Docker 服務(wù),經(jīng)過(guò)長(zhǎng)時(shí)間的使用,會(huì)使原本就比較大的分區(qū)越來(lái)越不夠用。如何更好地的處理這個(gè)問(wèn)題呢?

1. 使用軟鏈接

我們知道在操作系統(tǒng)當(dāng)中,默認(rèn)情況下 Docker 容器的存放位置在 /var/lib/docker 目錄下面,可以通過(guò)下面命令查看具體位置。

# 默認(rèn)存放位置  
$ sudo docker info | grep "Docker Root Dir" 

解決默認(rèn)存儲(chǔ)容量不足的情況,最直接且最有效的方法就是掛載新的分區(qū)到該目錄。但是在原有系統(tǒng)空間不變的情況下,所以采用軟鏈接的方式,修改鏡像和容器的存放路徑達(dá)到同樣的目的。

# 停掉Docker服務(wù)  
$ systemctl restart docker  
# 停掉Docker服務(wù)  
$ service docker stop 

然后移動(dòng)整個(gè) /var/lib/docker 目錄到空間不較大的目的路徑。這時(shí)候啟動(dòng) Docker 時(shí)發(fā)現(xiàn)存儲(chǔ)目錄依舊是 /var/lib/docker 目錄,但是實(shí)際上是存儲(chǔ)在數(shù)據(jù)盤(pán) /data/docker 上了。

# 移動(dòng)原有的內(nèi)容  
$ mv /var/lib/docker /data/docker  
# 進(jìn)行鏈接  
$ ln -sf /data/docker /var/lib/docker 

2. 指定容器啟動(dòng)參數(shù)

在配置文件中指定容器啟動(dòng)的參數(shù) --graph=/var/lib/docker 來(lái)指定鏡像和容器存放路徑。Docker 的配置文件可以設(shè)置大部分的后臺(tái)進(jìn)程參數(shù),在各個(gè)操作系統(tǒng)中的存放位置不一致。在 Ubuntu 中的位置是 /etc/default/docker 文件,在 CentOS 中的位置是 /etc/sysconfig/docker 文件。

# CentOS6  
# 因?yàn)閁buntu默認(rèn)開(kāi)啟了selinux機(jī)制  
OPTIONS=--graph="/data/docker" --selinux-enabled -H fd://  
# CentOS7  
# 修改docker.service文件,使用-g參數(shù)指定存儲(chǔ)位置  
$ vi /usr/lib/systemd/system/docker.service  
ExecStart=/usr/bin/dockerd --graph /new-path/docker 
# Ubuntu  
# 因?yàn)閁buntu默認(rèn)沒(méi)開(kāi)啟selinux機(jī)制  
OPTIONS=--graph="/data/docker" -H fd:// 

重新啟動(dòng)之后,Docker 的路徑就改成 /data/docker 了。

# 重新reload配置文件  
$ sudo systemctl daemon-reload  
# 重啟docker服務(wù)  
$ sudo systemctl restart docker.service 

如果 Docker 的版本是 1.12 或以上的,可以修改或新建 daemon.json 文件。修改后會(huì)立即生效,不需重啟 Docker 服務(wù)。

# 修改配置文件  
$ vim /etc/docker/daemon.json  
{  
    "registry-mirrors":  
        ["http://7e61f7f9.m.daocloud.io"],  
    "graph": "/new-path/docker"  
} 

3. System 下創(chuàng)建配置文件

在 /etc/systemd/system/docker.service.d 目錄下創(chuàng)建一個(gè) Drop-In 文件 docker.conf,默認(rèn) docker.service.d 文件夾不存在,必須先創(chuàng)建它。創(chuàng)建 Drop-In 文件的原因,是我們希望 Docker服務(wù)使用 docker.conf 文件中提到的特定參數(shù),將默認(rèn)服務(wù)所使用的位于 /lib/systemd/system/docker.service 文件中的參數(shù)進(jìn)行覆蓋。

# 定義新的存儲(chǔ)位置  
$ sudo vi /etc/systemd/system/docker.service.d/docker.conf  
[Service]  
ExecStart=/usr/bin/dockerd --graph="/data/docker" --storage-driver=devicemapper 

保存并退出 vim 編輯器 /data/docker 就是新的存儲(chǔ)位置,而 devicemapper 是當(dāng)前 Docker 所使用的存儲(chǔ)驅(qū)動(dòng)。如果你的存儲(chǔ)驅(qū)動(dòng)有所不同,請(qǐng)輸入之前第一步查看并記下的值?,F(xiàn)在,你可以重新加載服務(wù)守護(hù)程序,并啟動(dòng) Docker 服務(wù)了,這將改變新的鏡像和容器的存儲(chǔ)位置。為了確認(rèn)一切順利,運(yùn)行 docker info 命令檢查 Docker 的根目錄。

# 重新reload配置文件  
$ sudo systemctl daemon-reload  
# 重啟docker服務(wù)  
$ sudo systemctl start docker  

到此這篇關(guān)于修改Docker鏡像默認(rèn)存儲(chǔ)位置的方法的文章就介紹到這了,更多相關(guān)Docker鏡像默認(rèn)存儲(chǔ)位置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:連云港 雞西 荊門(mén) 運(yùn)城 遵義 隴南 面試通知 朝陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《修改Docker鏡像默認(rèn)存儲(chǔ)位置的方法(解決方法)》,本文關(guān)鍵詞  修改,Docker,鏡像,默認(rèn),存儲(chǔ),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《修改Docker鏡像默認(rèn)存儲(chǔ)位置的方法(解決方法)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于修改Docker鏡像默認(rèn)存儲(chǔ)位置的方法(解決方法)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章