Глава 2.4: Шпаргалка по управлению и очистка диска.
Теперь, когда наш стек успешно настроен и запущен, пришло время научиться управлять им в повседневной жизни. Вам не нужно заучивать сотни флагов: для 99% ежедневных задач домашнего сисадмина достаточно всего пяти команд Docker Compose и одной команды для генеральной уборки диска.
1. Ежедневные команды управления (Шпаргалка)
Важное правило: Все команды docker compose ... нужно выполнять, строго находясь в папке с вашим проектом (там, где лежит нужный docker-compose.yml). Например, перед вводом команд для нашей Wiki сначала перейдите в её директорию: cd /stacks/bookstack.
- Запуск и обновление стека:
Что делает: Запускает контейнеры в фоновом режиме. Если вы изменили что-то в файлеdocker compose up -ddocker-compose.ymlили.env, эта же команда применит изменения на лету и бесшовно перезапустит только то, что изменилось. - Остановка без удаления данных:
Что делает: Просто "ставит на паузу" контейнеры. Приложение засыпает, ресурсы процессора и оперативной памяти освобождаются. Файлы на диске и настройки не трогаются.docker compose stop - Запуск остановленного стека:
Что делает: Пробуждает контейнеры, остановленные предыдущей командойdocker compose startstop. - Полное уничтожение стека:
Что делает: Полностью останавливает и удаляет контейнеры из системы, а также уничтожает их внутренние виртуальные сети. При этом ваши данные (базы данных, картинки, статьи) остаются в безопасности на жестком диске сервера, так как мы бережно прописали их в Volumes / Bind Mounts.docker compose down - Чтение логов (Диагностика):
Что делает: Самая важная команда, если сайт выдает ошибку. Флагdocker compose logs -f --tail=100--tail=100показывает последние 100 строк логов, а флаг-f(follow) заставляет консоль застыть и выводить новые события приложения в реальном времени. Чтобы выйти из режима просмотра логов, нажмитеCtrl+C.
2. Борьба за дисковое пространство: Очистка мусора
Со временем вы заметите, что свободное место на вашем сервере Debian начинает медленно, но верно таять. Docker устроен так, что он никогда ничего самостоятельно не удаляет из соображений безопасности.
Когда разработчики обновляют образы, вы скачиваете их новые версии, а старые "зависают" на вашем диске мертвым грузом в виде "осиротевших" (dangling) слоев. За полгода таких экспериментов на диске может скопиться от 10 до 30 гигабайт цифрового мусора.
Чтобы вернуть серверу свободное пространство, существует ультимативная команда генеральной уборки. Её можно выполнять из абсолютно любой папки на сервере:
docker system prune -a --volumes
Разбор флагов очистки:
-a(all) — заставляет Docker удалить не только промежуточные слои, но и вообще все неиспользуемые образы (те образы, из которых прямо сейчас не запущен ни один контейнер).--volumes— критически важный флаг. Он удаляет "сиротские" тома данных (Volumes), которые когда-то были созданы старыми контейнерами, но теперь заброшены и не используются.
⚠️ Внимание! Техника безопасности:
Перед запуском docker system prune -a --volumes всегда убедитесь, что все ваши нужные контейнеры запущены и работают (проверить можно командой docker ps). Если вы сначала сделаете docker compose down для какого-то проекта, а потом запустите очистку, Docker посчитает этот проект неиспользуемым и безжалостно сотрет его скачанные образы и не привязанные жестко тома!
3. Быстрый просмотр занятого места
Чтобы узнать, сколько конкретно мегабайт или гигабайт сейчас занимают контейнеры, образы и тома на диске, введите команду:
docker system df
Она выведет удобную табличку с детализацией и покажет процент пространства, которое можно безболезненно вернуть системе.
🎉 Раздел 2 полностью завершен!
Теперь вы полноценный практик. Вы умеете разворачивать сложные связки сервисов через Compose, управлять переменными в `.env`, распределять права на диске, изолировать сети и держать сервер в идеальной чистоте.
Мы готовы двигаться дальше. Впереди Раздел 3, где мы превратим наш сервер в полноценную управляемую экосистему: добавим красивую веб-панель Portainer, удобный просмотр логов через браузер, автоматическое обновление по ночам и надежные бэкапы.