Резюме
Когда речь идет о домашних серверах, существует множество услуг и приложений, которые можно запустить. Хотя их можно устанавливать по отдельности, я выбрал Docker — теперь не представляю, как бы обошелся без него.
Что такое Docker?
Если вы никогда не слышали о Docker, представьте его как набор небольших и легких виртуальных систем, работающих в одном окружении.
Docker для начинающих: Все, что вам нужно знать
Изучите этот невероятно популярный инструмент для разработки.
Виртуальные системы Docker называются контейнерами, и каждый из них содержит лишь необходимый минимум для работы с той или иной Linux-дистрибутивной средой.
Контейнеры занимают очень мало ресурсов и места на вашем компьютере. Это позволяет развернуть множество самодостаточных услуг, не нагружая систему. Более того, при удалении услуги из Docker она полностью исчезает, не оставляя следов.
Все зависимости удаляются вместе с ней. Возможно, останется небольшой том, но и его легко удалить, если он больше не нужен.
Что делает Docker и когда его стоит использовать?
Docker — это инструмент для запуска приложений в контейнерах.
Docker, я выбираю тебя
На рынке есть множество альтернатив контейнеризованных услуг. Долгое время я использовал TrueNAS с ячейками, но недавно перешел на Docker. Существует Kubernetes, виртуальные машины, контейнеры LXC и еще множество других вариантов. Docker — это только одна из доступных услуг, но почему я выбрал именно его?
На мой взгляд, Docker — самый простой в установке инструмент для контейнеризации и один из самых надежных. В Docker Hub вы найдете более 10 000 контейнеров — это лишь одна из точек, где можно искать приложения. Что бы вы ни хотели запустить, скорее всего, под это есть соответствующий контейнер Docker.
Ячейки имеют ограниченные функции и возможности. Kubernetes, хотя и основан на Docker, значительно сложнее настраивать для домашнего сервера, так как больше ориентирован на корпоративное использование. Виртуальные машины, конечно, хороши, но они просто «железные» решения, что не отвечает моим потребностям. Контейнеры LXC очень похожи на Docker, но управлять ими не так удобно.
Я начал использовать Docker в 2021 году, когда настраивал свой первый сервер Unraid. Это было обязательным условием для меня, когда я погружался в мир домашних серверов. На сегодняшний день Docker стал неотъемлемой частью любого сервера, который я использую. Будь то виртуальная машина Ubuntu или NAS на «железе», он должен поддерживать Docker.
Docker также очень удобен в использовании. Хотя я работаю с веб-серверами много лет, установка зависимостей, настройка JSON-файлов и отладка сервисов всегда были для меня сложными задачами. Полное удаление чего-либо, как правило, еще более трудоемко. Docker значительно упрощает этот процесс.
Мне нравится, как легко я могу запустить сервис в Docker, протестировать его, оценить и решить, оставлять его или нет.
На днях я развернул Uptime-Kuma на своем основном Docker-хосте. Мне понравился этот сервис, но я хотел запустить его на машине с более высокой стабильностью, чем на основном Docker-инстансе. Просто запустил еще один экземпляр Uptime-Kuma на другом Docker-хосте и через несколько минут он был готов к работе.
Я запускаю более 30 услуг на Docker
Весь мой домашний сервер функционирует на Docker. Я могу вспомнить лишь одну услугу, которая не работает на Docker, и собираюсь перевести её в контейнер Docker.
Вот небольшой список некоторых служб, которые я использую на своем домашнем сервере:
Это услуги, которые работают на моем основном Docker-инстансе. У меня также есть Docker на Raspberry Pi, который обрабатывает Uptime-Kuma и вскоре будет управлять резервной копией Pi-Hole.
Кроме того, у меня есть две дополнительные виртуальные машины, работающие на Docker. Эти ВМ используют Ubuntu 24.04 как основу, а Docker — в качестве хоста для контейнеров. Две машины разделены для того, чтобы услуги работали лучше, когда они изолированы друг от друга. Эти две ВМ запускают мой игровой сервер Pterodactyl и панель управления.
Docker упрощает создание домашних серверов
Если вы хотите углубиться в создание домашних серверов или уже занимаетесь этим, я искренне считаю, что всем стоит использовать Docker.
Если вы еще не испытали жизнь контейнеризированного домашнего сервера, значит, вы многое упускаете. Docker обладает огромными возможностями, включая переход в режим высокой доступности, что я планирую изучить позже в этом году.
Наличие всех ваших услуг в самодостаточных контейнерах значительно упрощает их управление. Будь то обновление одной услуги или откладывание другой, удаление ненужного или запуск нескольких контейнеров, которые взаимодействуют друг с другом, оставаясь при этом изолированными от основной ОС — Docker именно для этого и предназначен.
Мой домашний сервер не смог бы функционировать так, как он работает сейчас, без Docker. Я убежден, что если вы попробуете его, то увидите, насколько он полезен для вашей системы.
Готовы погрузиться в мир контейнеров Docker с головой? Вот 10 контейнеров Docker, которые, на мой взгляд, должен запустить каждый. Этот список поможет вам начать работу с основными службами, которые составляют мой домашний сервер через Docker, и все они достаточно просто запускаются!
Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!
Вы также можете найти наши материалы в:
- Telegram: https://t.me/gergenshin
- Youtube: https://www.youtube.com/@gergenshin
- Яндекс Дзен: https://dzen.ru/gergen
- Официальный сайт: https://www-genshin.ru