Docker配置本地鏡像與容器的存儲(chǔ)位置
使用find命令找到大于指定大小的文件:
find / -type f -size +10G
排除某個(gè)目錄
find / -path '/media/xww' -type f -size +10G修改Docker本地鏡像與容器的存儲(chǔ)位置的方法方法一、軟鏈接
默認(rèn)情況下Docker的存放位置為:/var/lib/docker可以通過(guò)下面命令查看具體位置:
sudo docker info | grep 'Docker Root Dir'
解決這個(gè)問(wèn)題,最直接的方法當(dāng)然是掛載分區(qū)到這個(gè)目錄,但是我的數(shù)據(jù)盤(pán)還有其他東西,這肯定不好管理,所以采用修改鏡像和容器的存放路徑的方式達(dá)到目的。
這個(gè)方法里將通過(guò)軟連接來(lái)實(shí)現(xiàn)。
首先停掉Docker服務(wù):
systemctl restart docker或者service docker stop
然后移動(dòng)整個(gè)/var/lib/docker目錄到目的路徑:
mv /var/lib/docker /root/data/dockerln -s /root/data/docker /var/lib/docker
這時(shí)候啟動(dòng)Docker時(shí)發(fā)現(xiàn)存儲(chǔ)目錄依舊是/var/lib/docker,但是實(shí)際上是存儲(chǔ)在數(shù)據(jù)盤(pán)的,你可以在數(shù)據(jù)盤(pán)上看到容量變化。
方法二、可擴(kuò)展邏輯卷默認(rèn)情況下docker的存放位置為:/var/lib/docker一般根下分區(qū)我們不會(huì)給太大。鏡像和容器越存越多一般我們有兩種解決方法1、掛載大分區(qū)到/var/lib/docker:一般選擇建立邏輯分區(qū)lvm,方便后期擴(kuò)展集體。
a.建立新分區(qū),并格式化 PS: 以下操作建設(shè)你已經(jīng)有現(xiàn)成的卷組,直接可以劃邏輯卷。或者你可以自己創(chuàng)建邏輯卷,或者不適用邏輯卷直接使用分區(qū)lvcreate -L 300G lv_docker vg_home mkfs.ext4 /dev/vg_home/lv__docker b.掛載新分區(qū)到臨時(shí)掛載點(diǎn)[plain] view plain copymkdir /mnt/docker mount /dev/vg_home/lv_docker /mnt/docker/ c.停掉docker后拷貝/var/lib/docker下數(shù)據(jù)到臨時(shí)掛載點(diǎn)[plain] view plain copyservice docker stop cp -r /var/lib/docker/* /mtn/docker d.修改/var/lib/docker 為//var/lib/docker.bak,并創(chuàng)建/var/lib/docker[plain] view plain copymv /var/lib/docker{,.bak} mkdir /var/lib/docker e.掛載新分區(qū)到/var/lib/docker,并設(shè)置開(kāi)機(jī)自動(dòng)掛載。[plain] view plain copymount /dev/vg_home/lv_docker /var/lib/docker vim /etc/fstab --- /dev/vg_home/lv_docker /docker_data ext4 defaults 0 0 ---- f.檢測(cè)docker是否可用,數(shù)據(jù)是否完整[plain] view plain copydocker images docker ps -a g.確認(rèn)無(wú)誤后卸載臨時(shí)掛載點(diǎn),刪除/var/lib/docker.bak[plain] view plain copyumount /mnt/docker rm -rf /var/lib/docker.bak 方法三、修改鏡像和容器的存放路徑
指定鏡像和容器存放路徑的參數(shù)是?graph=/var/lib/docker,我們只需要修改配置文件指定啟動(dòng)參數(shù)即可。
Docker 的配置文件可以設(shè)置大部分的后臺(tái)進(jìn)程參數(shù),在各個(gè)操作系統(tǒng)中的存放位置不一致,在 Ubuntu 中的位置是:/etc/default/docker,在 CentOS 中的位置是:/etc/sysconfig/docker。
如果是 CentOS 則添加下面這行:
OPTIONS=--graph='/root/data/docker' --selinux-enabled -H fd://
如果是 Ubuntu 則添加下面這行(因?yàn)?Ubuntu 默認(rèn)沒(méi)開(kāi)啟 selinux):
OPTIONS=--graph='/root/data/docker' -H fd://# 或者DOCKER_OPTS='-g /root/data/docker'
最后重新啟動(dòng),Docker 的路徑就改成 /root/data/docker 了。如果沒(méi)有生效,按如下操作
vim /etc/default/docker 添加配置信息DOCKER_OPTS='--graph=/home/docker' 保存退出service docker restart 發(fā)現(xiàn)配置并沒(méi)有生效解決方案: mkdir -p /etc/systemd/system/docker.service.d cat /etc/systemd/system/docker.service.d/Using_Environment_File.conf 如果沒(méi)有該文件則自行創(chuàng)建,添加以下內(nèi)容[Service] EnvironmentFile=-/etc/default/docker ExecStart= ExecStart=/usr/bin/docker daemon -H fd:// $DOCKER_OPTS 載入配置重啟服務(wù)systemctl daemon-reload service docker restart 查看配置是否生效
到此這篇關(guān)于Docker配置本地鏡像與容器的存儲(chǔ)位置的文章就介紹到這了,更多相關(guān)Docker配置本地鏡像與容器的存儲(chǔ)位置內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. asp批量添加修改刪除操作示例代碼2. ASP實(shí)現(xiàn)加法驗(yàn)證碼3. PHP循環(huán)與分支知識(shí)點(diǎn)梳理4. 讀大數(shù)據(jù)量的XML文件的讀取問(wèn)題5. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案6. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)7. JSP+Servlet實(shí)現(xiàn)文件上傳到服務(wù)器功能8. 解析原生JS getComputedStyle9. jsp+servlet實(shí)現(xiàn)猜數(shù)字游戲10. css代碼優(yōu)化的12個(gè)技巧
