помогите очистить var / lib / docker

I messed things up with docker on ubuntu 18.04 and now I have almost no space left on my disk.

  • I tried to move var/lib/docker to /home and do a symbolic link in order to use some heavy images (nvidia tlt and nvidia digits), since I have /home on another partition.
  • When things didn't work I removed the link and moved the folder back to where it belongs.
  • It seems to me that when I tested if it worked, right before moving the folder back, ubuntu создал папку обратно, и когда я сделал это, все было странным образом слито.

Теперь проблема в том, что нужно сделать, чтобы все вернулось к нормальному состоянию (надеюсь, не переустанавливать Ubuntu). Я надеюсь, что есть некоторые избыточные файлы, которые можно просто удалить.

У меня были другие изображения, которые больше не отображаются с изображениями sudo docker , но я также не удалил их. То же самое относится к некоторым контейнерам

Когда я выполняю дерево sudo var / lib / docker> tree.txt , я получаю этот вывод (который составляет 26,7 МБ, смехотворно большой, не это?)


Только что проверил, и размер этой папки составляет 24 ГБ. Изображение tlt равно 7, я предполагаю, что контейнер может быть таким же, все еще есть почти 10 ГБ (25% корневого диска) доступного пространства.

Любая помощь будет действительно признательна. Thanks.


This is the tree after @Giorgos Saridakis's answer, now it's size is 20.2 MB

4
задан 18 June 2020 в 06:44

2 ответа

Я рискнул и решил проблему. Я использую команду sudo tree --du -h /var/lib/docker > tree.txt, чтобы также увидеть размеры папок, и обнаружил, что у меня есть еще одна папка «docker» внутри /var/ lib/docker/volumes, который весил 6,8 ГБ и имел тот же дистрибутив, что и /var/lib/dolker. Проверив, что у друга его нет, я просто рискнул и сделал следующее.

  • sudo docker stop
  • sudo mv /var/lib/docker/volumes/docker /path/to/an/external/drives/folder
  • sudo docker start

Все работало без проблем и после перезагрузка все выглядело нормально, я могу запустить образ tlt как обычно. Спасибо всем за вашу помощь, я знаю, что был безрассудным, но я все равно готовился к форматированию своего диска, так что мне было нечего терять (если вы, будущий читатель, увидите это, будьте осторожнее меня). Еще раз спасибо!

0
ответ дан 26 June 2020 в 20:36
  • do service docker stop before moving the folder
  • if placing /var/lib/docker somewhere else, use a bind mount , e.g. mount -o bind /external/disk/docker /var/lib/docker , also "protect" the folder from files being written before mount with chattr +i /Var/lib/docker
  • it is always better to start your container again from a compose file or docker pull the image , since you might have messed up the overlay with your described steps
  • folder size also comes from docker filesystems implementation , whereas filesystem is pulled as archive and then extracted
  • 7GB is unlikely large for a docker image
  • if you have large amount of build cache / dangling images / stopped containers docker system prune -a is your friend
3
ответ дан 19 June 2020 в 21:23

Другие вопросы по тегам:

Похожие вопросы: