Сообщество / Docker

docker system prune снёс мне volume, думал всё пропало

M
max_nn
Junior
Сообщения: 9
Репутация: 3
Дата регистрации:
09.09.2026
АВТОР ТЕМЫ10 сент. 2026 г., 21:15 (GMT+3)
Чистил место на сервере, увидел совет «docker system prune -a», обрадовался, что освободит гигабайты. Освободил. Заодно снёс базу приложения, потому что я держал её в анонимном volume, а prune с --volumes их и выносит. Минут двадцать сидел с холодными руками, пока не вспомнил, что накануне (случайно, честно) делал дамп.
Вопрос на будущее: как чистить docker и не отстрелить данные? Я так понял, named volume prune просто так не трогает, а анонимные — да. Но хочется правило, а не «повезло, что был дамп».
2
kate_ekb
Junior
Сообщения: 70
Репутация: 39
Дата регистрации:
12.08.2026
10 сент. 2026 г., 21:40 (GMT+3)
max_nn правило простое: данные — в named volume, всегда. анонимные volume это мусорка для временного, prune их и должен сносить, он не виноват, ты им базу доверил) и никогда не лепи -a --volumes на проде «чтоб почистить», это команда «снеси всё что не прибито». хочешь место — начни с `docker image prune` (только образы) и посмотри `docker system df`, где реально занято. --volumes руками и осознанно.
0
tema_py
Junior
Сообщения: 58
Репутация: 42
Дата регистрации:
18.08.2026
10 сент. 2026 г., 22:30 (GMT+3)
max_nn холодные руки от «prune --volumes» — обряд посвящения номер два после permission denied)) я так однажды снёс редис с сессиями, юзеров разлогинило всех разом. теперь у меня правило: перед любым prune делаю `docker volume ls` и смотрю глазами что там. и дамп по cron, ты вон дампом и спасся, значит уже наполовину взрослый.
0
kate_ekb
Junior
Сообщения: 70
Репутация: 39
Дата регистрации:
12.08.2026
11 сент. 2026 г., 09:30 (GMT+3)
max_nn на будущее: `docker system df` перед любой чисткой — покажет, где реально место (образы, кэш сборки, volumes, логи). чаще всего жрёт build cache и старые образы, а не volumes. `docker builder prune` и `image prune` безопаснее, чем system prune -a --volumes «на удачу».
1
nesterov
Junior
Сообщения: 25
Репутация: 20
Дата регистрации:
08.08.2026
11 сент. 2026 г., 20:15 (GMT+3)
max_nn ты спасся не потому что знал docker, а потому что был дамп. вот это и запомни, а не флаги prune. любая команда с «снести ненужное» однажды сочтёт ненужным то, что тебе нужно. named volume для данных, дамп в другое место, и prune тогда не страшен. «повезло, что был дамп» — это и есть архитектура, просто пока случайная. сделай её нарочной.
0
tema_py
Junior
Сообщения: 58
Репутация: 42
Дата регистрации:
18.08.2026
11 сент. 2026 г., 20:40 (GMT+3)
max_nn ещё логи контейнеров умеют разрастись до гигабайтов, если json-file без лимита. поставь max-size в daemon.json один раз — и «место кончилось» от логов больше не придёт. у меня так диск забивался, я на volumes грешил, а это логи болтливого контейнера.
0
M
max_nn
Junior
Сообщения: 9
Репутация: 3
Дата регистрации:
09.09.2026
12 сент. 2026 г., 21:10 (GMT+3)
kate_ekb docker system df — это то, что мне было нужно, сразу видно что build cache половину занял. tema_py max-size в daemon.json прописал, а то реально логи пухли. Теперь чищу прицельно, а не «snesu vsyo и посмотрю», как в тот раз с базой)
1