Docker Compose взломал мой домашний сервер — экономлю часы жизни благодаря этому инструменту!

Docker Compose file for Audiobookshelf open in the Portainer stack editor.

Я работаю с Docker уже больше пяти лет — и всё это время запускал контейнеры через docker run. Но стоило попробовать Docker Compose, и администрирование домашнего сервера стало не рутиной, а удовольствием.

Почему я долго обходился стандартными командами Docker Run — всё ведь по-честному и понятно

Просто адаптировал их под Portainer — и вперёд

The Hello World Docker container being run on an Ubuntu server.

Я сразу начал пользоваться Docker в Unraid, потом освоил Portainer, так что до Docker Compose руки долго не доходили. В Unraid приложения поднимаются за пару кликов — всё делается почти на автомате благодаря шаблонам.

Portainer был удобен тем, что параметры мне уже знакомы: беру docker run или docker compose, чуть допиливаю под свои нужды — и контейнер готов. Вся схема привычна, просто шагов больше.

Этот способ казался мне идеальным — всё на виду, настройки прозрачные, в Portainer легко разобраться. Но как только понадобилось переезжать на другой компьютер, у такого подхода появились серьёзные минусы.

Docker Compose, напротив, работает одинаково на любой платформе. Поэтому я полностью перешёл на Compose — и теперь жалею, что не сделал этого раньше!

Docker Compose — всё для простых настроек за пару минут

Все настройки просто правятся в YAML, никаких сложных меню

Если вы ещё не сталкивались с Docker Compose: это обычный текстовый YAML-файл, где описаны все ваши контейнеры и параметры к ним. Можно сразу указать несколько сервисов — они окажутся в одной локальной сети, идеально для комплексных проектов.

Главное преимущество — конфиг всегда под рукой, можно открыть и поменять что угодно в любой момент. А если запускать через docker run, то любое изменение — это остановить контейнер и заново собирать длинную команду.

Самый ленивый способ управлять Docker-контейнерами, но выглядит по-профессиональному

Весь контроль — через удобные горячие клавиши: быстро поднять или остановить контейнеры, посмотреть логи, отладить — всё без лишних окон и навигаций.

В том же Portainer пересоздать контейнер — значит всё настраивать заново: снова прописывать параметры, деплоить. Проще, чем руками, но далеко не идеально.

А с Docker Compose всё до смешного просто: открыл файл, изменил настройки — и развернул заново. Раньше любое правка превращалась в квест, теперь всё занимает минуту.

Docker Compose позволяет переносить контейнеры между системами буквально за минуту

Просто копируете YAML — и всё взлетает!

Three mini PCs stacked on top of each other in a homelab.

Возможность молниеносно переносить контейнеры — именно поэтому я полностью пересел на Compose. Месяц назад у меня в домашней лаборатории случился эпичный сбой — по собственной невнимательности потерял кучу данных.

К счастью, основное уцелело, но восстановление инфраструктуры было тем ещё квестом. Особенно злили Docker-контейнеры: все настройки улетели в никуда. Некоторые контейнеры сами остались, но параметры запуска не сохранились — заранее экспортированных команд, конечно, не было.

Пришлось собирать всё заново — уже с Docker Compose. Работы было немало, но теперь при переносе сервисов я не испытываю никаких проблем: просто беру нужный compose-файл, копирую его на другое устройство — и сервис стартует, иногда через минуту.

Почему я не сделал этого раньше — загадка! Вот недавний пример: только вчера Plex объявил о повышении цен на пожизненную подписку Plex Pass.

У меня Plex Pass есть, но решил посмотреть, что умеет Jellyfin — вдруг понравится. Всё просто: открыл compose-файл Plex, скопировал пути к медиа и устройствам, вставил эти же строки в compose-файл Jellyfin.

Пять минут — и Jellyfin полностью настроен: транскодирование работает, вся коллекция фильмов и сериалов на месте — как в Plex. Не надо прыгать по пунктам меню, вручную искать и копировать строки, ломать голову, где какие опции живут.

Поскольку конфиги в YAML-файле и пути к медиа одинаковые, запуск нового сервиса — это дело пары минут буквально без головной боли.

По такой же схеме я переносил даже целые стеки Docker между компьютерами. Сейчас у меня дома работают три мини-ПК, полноценный десктоп и пара NAS — все работают с Docker.

Вся магия вот в чём: берёшь compose-файл и всё нужное из конфигов, забрасываешь на новое «железо» — и через пару минут вся система вернулась в строй.

KAMRUI Hyper H1 mini PC.

KAMRUI Hyper H1 Mini PC

KAMRUI Hyper H1 — находка для тех, кто хочет мощный настольный ПК за адекватные деньги. Тут современный 8-ядерный AMD Ryzen 7 7735HS на 16 потоков и 16 ГБ быстрой LPDDR5 (оперативку заменить нельзя, зато NVMe-диск на 512 ГБ можно сменить или добавить ещё один в слот).

Docker Compose — лучшее, что случилось с моим домашним сервером за последние годы

В итоге Docker Compose сделал управление сервером в разы проще. Если бы я перешёл на него раньше, сэкономил бы себе не только недели времени, но и кучу нервов при каждой миграции.

Если вы до сих пор не пользуетесь Docker Compose — самое время попробовать. Это действительно проще, чем кажется, и ускоряет всё, что связано с Docker, во много раз.

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Премиум подписка — это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!

Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь

Также подписывайтесь на нас в:

Алекс Бежбакин
Оцените автора
Добавить комментарий