Docker配置本地鏡像與容器的存儲位置
使用find命令找到大于指定大小的文件:
find / -type f -size +10G
排除某個目錄
find / -path "/media/xww" -type f -size +10G
修改Docker本地鏡像與容器的存儲位置的方法
方法一、軟鏈接
默認情況下Docker的存放位置為:/var/lib/docker
可以通過下面命令查看具體位置:
sudo docker info | grep "Docker Root Dir"
解決這個問題,最直接的方法當然是掛載分區(qū)到這個目錄,但是我的數(shù)據(jù)盤還有其他東西,這肯定不好管理,所以采用修改鏡像和容器的存放路徑的方式達到目的。
這個方法里將通過軟連接來實現(xiàn)。
首先停掉Docker服務:
systemctl restart docker 或者 service docker stop
然后移動整個/var/lib/docker目錄到目的路徑:
mv /var/lib/docker /root/data/docker ln -s /root/data/docker /var/lib/docker
這時候啟動Docker時發(fā)現(xiàn)存儲目錄依舊是/var/lib/docker,但是實際上是存儲在數(shù)據(jù)盤的,你可以在數(shù)據(jù)盤上看到容量變化。
方法二、可擴展邏輯卷
默認情況下docker的存放位置為:
/var/lib/docker
一般根下分區(qū)我們不會給太大。鏡像和容器越存越多一般我們有兩種解決方法
1、掛載大分區(qū)到/var/lib/docker:
一般選擇建立邏輯分區(qū)lvm,方便后期擴展集體。
a.建立新分區(qū),并格式化 PS: 以下操作建設你已經(jīng)有現(xiàn)成的卷組,直接可以劃邏輯卷?;蛘吣憧梢宰约簞?chuàng)建邏輯卷,或者不適用邏輯卷直接使用分區(qū) lvcreate -L 300G lv_docker vg_home mkfs.ext4 /dev/vg_home/lv__docker b.掛載新分區(qū)到臨時掛載點 [plain] view plain copy mkdir /mnt/docker mount /dev/vg_home/lv_docker /mnt/docker/ c.停掉docker后拷貝/var/lib/docker下數(shù)據(jù)到臨時掛載點 [plain] view plain copy service 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 copy mv /var/lib/docker{,.bak} mkdir /var/lib/docker e.掛載新分區(qū)到/var/lib/docker,并設置開機自動掛載。 [plain] view plain copy mount /dev/vg_home/lv_docker /var/lib/docker vim /etc/fstab --- /dev/vg_home/lv_docker /docker_data ext4 defaults 0 0 ---- f.檢測docker是否可用,數(shù)據(jù)是否完整 [plain] view plain copy docker images docker ps -a g.確認無誤后卸載臨時掛載點,刪除/var/lib/docker.bak [plain] view plain copy umount /mnt/docker rm -rf /var/lib/docker.bak
方法三、修改鏡像和容器的存放路徑
指定鏡像和容器存放路徑的參數(shù)是–graph=/var/lib/docker,我們只需要修改配置文件指定啟動參數(shù)即可。
Docker 的配置文件可以設置大部分的后臺進程參數(shù),在各個操作系統(tǒng)中的存放位置不一致,在 Ubuntu 中的位置是:/etc/default/docker,在 CentOS 中的位置是:/etc/sysconfig/docker。
如果是 CentOS 則添加下面這行:
OPTIONS=--graph="/root/data/docker" --selinux-enabled -H fd://
如果是 Ubuntu 則添加下面這行(因為 Ubuntu 默認沒開啟 selinux):
OPTIONS=--graph="/root/data/docker" -H fd:// # 或者 DOCKER_OPTS="-g /root/data/docker"
最后重新啟動,Docker 的路徑就改成 /root/data/docker 了。
如果沒有生效,按如下操作
vim /etc/default/docker 添加配置信息 DOCKER_OPTS="--graph=/home/docker" 保存退出 service docker restart 發(fā)現(xiàn)配置并沒有生效 解決方案: mkdir -p /etc/systemd/system/docker.service.d cat /etc/systemd/system/docker.service.d/Using_Environment_File.conf 如果沒有該文件則自行創(chuàng)建,添加以下內容 [Service] EnvironmentFile=-/etc/default/docker ExecStart= ExecStart=/usr/bin/docker daemon -H fd:// $DOCKER_OPTS 載入配置重啟服務 systemctl daemon-reload service docker restart 查看配置是否生效
到此這篇關于Docker配置本地鏡像與容器的存儲位置的文章就介紹到這了,更多相關Docker配置本地鏡像與容器的存儲位置內容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持本站!
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。