Docker

Docker 吃 /var 空間我怎麼能節省一些?

  • June 30, 2019

因為對這個問題有一些很好的評論,所以我認為在這個特定的問題中它們可能是很好的答案和有益的。

所以為了能對社區更有利,我想能在這裡得到解答。

在我的 gnu/linux 系統中,我有/var20G 大,但由於使用 docker 和自定義 docker 映像的開發,/var佔用了 90% 的空間,那麼我如何才能在其中保留一些空間/var

我最初想像這個問題所說的那樣做一些備份,然後重新分區/var. 但對我來說似乎太費力了。有沒有更安全、更省時的替代方案?

如果您有一段時間沒有這樣做,請執行docker system prune. 它將執行垃圾收集器,並釋放大量磁碟空間。

請注意,它可能會導致您下次做某事(例如建構、拉取等)時需要完成更多工作,但不應刪除任何無法取回的內容。

另一種方法是將文件夾 rsync/var/lib/docker放入更大的磁碟/分區中。在我的情況下,接管的分區/home/有一些可用空間,因此我遵循了這些步驟:

  1. 我在/home/命名中創建了一個專用文件夾docker
mkdir /home/docker
  1. 使用rsync我將數據複製到/home/docker
rsync -rav /var/lib/docker /home/docker
  1. 我檢查了 rsync 過程是如何進行的:
ls -l /home/docker

在此步驟中檢查是否rsync創建了新文件夾。請記住已創建的路徑。

  1. 我終止了 docker 守護程序:(在我的情況下是一個 ubuntu,因此使用該服務工作正常,systemctl在大多數發行版中也可以使用)
sudo service docker stop
  1. 去除那個/var/lib/docker
rm -rf /var/lib/docker
  1. 符號連結到/home/docker/docker(是的,它是在/home/docker另一個名為的文件夾中創建的,docker但我沒有打擾它)
sudo ln -s /home/docker/docker /var/lib/docker
  1. 再次啟動 docker:
sudo service docker start

引用自:https://unix.stackexchange.com/questions/527647