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'
解決這個問題,最直接的方法當然是掛載分區到這個目錄,但是我的數據盤還有其他東西,這肯定不好管理,所以采用修改鏡像和容器的存放路徑的方式達到目的。
這個方法里將通過軟連接來實現。
首先停掉Docker服務:
systemctl restart docker或者service docker stop
然后移動整個/var/lib/docker目錄到目的路徑:
mv /var/lib/docker /root/data/dockerln -s /root/data/docker /var/lib/docker
這時候啟動Docker時發現存儲目錄依舊是/var/lib/docker,但是實際上是存儲在數據盤的,你可以在數據盤上看到容量變化。
方法二、可擴展邏輯卷默認情況下docker的存放位置為:/var/lib/docker一般根下分區我們不會給太大。鏡像和容器越存越多一般我們有兩種解決方法1、掛載大分區到/var/lib/docker:一般選擇建立邏輯分區lvm,方便后期擴展集體。
a.建立新分區,并格式化 PS: 以下操作建設你已經有現成的卷組,直接可以劃邏輯卷。或者你可以自己創建邏輯卷,或者不適用邏輯卷直接使用分區lvcreate -L 300G lv_docker vg_home mkfs.ext4 /dev/vg_home/lv__docker b.掛載新分區到臨時掛載點[plain] view plain copymkdir /mnt/docker mount /dev/vg_home/lv_docker /mnt/docker/ c.停掉docker后拷貝/var/lib/docker下數據到臨時掛載點[plain] view plain copyservice docker stop cp -r /var/lib/docker/* /mtn/docker d.修改/var/lib/docker 為//var/lib/docker.bak,并創建/var/lib/docker[plain] view plain copymv /var/lib/docker{,.bak} mkdir /var/lib/docker e.掛載新分區到/var/lib/docker,并設置開機自動掛載。[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是否可用,數據是否完整[plain] view plain copydocker images docker ps -a g.確認無誤后卸載臨時掛載點,刪除/var/lib/docker.bak[plain] view plain copyumount /mnt/docker rm -rf /var/lib/docker.bak 方法三、修改鏡像和容器的存放路徑
指定鏡像和容器存放路徑的參數是?graph=/var/lib/docker,我們只需要修改配置文件指定啟動參數即可。
Docker 的配置文件可以設置大部分的后臺進程參數,在各個操作系統中的存放位置不一致,在 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 發現配置并沒有生效解決方案: mkdir -p /etc/systemd/system/docker.service.d cat /etc/systemd/system/docker.service.d/Using_Environment_File.conf 如果沒有該文件則自行創建,添加以下內容[Service] EnvironmentFile=-/etc/default/docker ExecStart= ExecStart=/usr/bin/docker daemon -H fd:// $DOCKER_OPTS 載入配置重啟服務systemctl daemon-reload service docker restart 查看配置是否生效
到此這篇關于Docker配置本地鏡像與容器的存儲位置的文章就介紹到這了,更多相關Docker配置本地鏡像與容器的存儲位置內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: