Docker
Docker 吃 /var 空間我怎麼能節省一些?
因為對這個問題有一些很好的評論,所以我認為在這個特定的問題中它們可能是很好的答案和有益的。
所以為了能對社區更有利,我想能在這裡得到解答。
在我的 gnu/linux 系統中,我有
/var
20G 大,但由於使用 docker 和自定義 docker 映像的開發,/var
佔用了 90% 的空間,那麼我如何才能在其中保留一些空間/var
?我最初想像這個問題所說的那樣做一些備份,然後重新分區
/var
. 但對我來說似乎太費力了。有沒有更安全、更省時的替代方案?
如果您有一段時間沒有這樣做,請執行
docker system prune
. 它將執行垃圾收集器,並釋放大量磁碟空間。請注意,它可能會導致您下次做某事(例如建構、拉取等)時需要完成更多工作,但不應刪除任何無法取回的內容。
另一種方法是將文件夾 rsync
/var/lib/docker
放入更大的磁碟/分區中。在我的情況下,接管的分區/home/
有一些可用空間,因此我遵循了這些步驟:
- 我在
/home/
命名中創建了一個專用文件夾docker
mkdir /home/docker
- 使用
rsync
我將數據複製到/home/docker
rsync -rav /var/lib/docker /home/docker
- 我檢查了 rsync 過程是如何進行的:
ls -l /home/docker
在此步驟中檢查是否
rsync
創建了新文件夾。請記住已創建的路徑。
- 我終止了 docker 守護程序:(在我的情況下是一個 ubuntu,因此使用該服務工作正常,
systemctl
在大多數發行版中也可以使用)sudo service docker stop
- 去除那個
/var/lib/docker
rm -rf /var/lib/docker
- 符號連結到
/home/docker/docker
(是的,它是在/home/docker
另一個名為的文件夾中創建的,docker
但我沒有打擾它)sudo ln -s /home/docker/docker /var/lib/docker
- 再次啟動 docker:
sudo service docker start