Docker配置本地鏡像與容器的存儲位置
使用find命令找到大于指定大小的文件:
find / -type f -size +10G
排除某個目錄
find / -path '/media/xww' -type f -size +10G修改Docker本地鏡像與容器的存儲位置的方法方法一、軟鏈接
默認(rèn)情況下Docker的存放位置為:/var/lib/docker可以通過下面命令查看具體位置:
sudo docker info | grep 'Docker Root Dir'
解決這個問題,最直接的方法當(dāng)然是掛載分區(qū)到這個目錄,但是我的數(shù)據(jù)盤還有其他東西,這肯定不好管理,所以采用修改鏡像和容器的存放路徑的方式達(dá)到目的。
這個方法里將通過軟連接來實現(xiàn)。
首先停掉Docker服務(wù):
systemctl restart docker或者service docker stop
然后移動整個/var/lib/docker目錄到目的路徑:
mv /var/lib/docker /root/data/dockerln -s /root/data/docker /var/lib/docker
這時候啟動Docker時發(fā)現(xiàn)存儲目錄依舊是/var/lib/docker,但是實際上是存儲在數(shù)據(jù)盤的,你可以在數(shù)據(jù)盤上看到容量變化。
方法二、可擴(kuò)展邏輯卷默認(rèn)情況下docker的存放位置為:/var/lib/docker一般根下分區(qū)我們不會給太大。鏡像和容器越存越多一般我們有兩種解決方法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ū)到臨時掛載點[plain] view plain copymkdir /mnt/docker mount /dev/vg_home/lv_docker /mnt/docker/ c.停掉docker后拷貝/var/lib/docker下數(shù)據(jù)到臨時掛載點[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è)置開機(jī)自動掛載。[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.檢測docker是否可用,數(shù)據(jù)是否完整[plain] view plain copydocker images docker ps -a g.確認(rèn)無誤后卸載臨時掛載點,刪除/var/lib/docker.bak[plain] view plain copyumount /mnt/docker rm -rf /var/lib/docker.bak 方法三、修改鏡像和容器的存放路徑
指定鏡像和容器存放路徑的參數(shù)是?graph=/var/lib/docker,我們只需要修改配置文件指定啟動參數(shù)即可。
Docker 的配置文件可以設(shè)置大部分的后臺進(jìn)程參數(shù),在各個操作系統(tǒng)中的存放位置不一致,在 Ubuntu 中的位置是:/etc/default/docker,在 CentOS 中的位置是:/etc/sysconfig/docker。
如果是 CentOS 則添加下面這行:
OPTIONS=--graph='/root/data/docker' --selinux-enabled -H fd://
如果是 Ubuntu 則添加下面這行(因為 Ubuntu 默認(rèn)沒開啟 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)建,添加以下內(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配置本地鏡像與容器的存儲位置的文章就介紹到這了,更多相關(guān)Docker配置本地鏡像與容器的存儲位置內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
