Запуск Docker на Proxmox

Запуск Docker на Proxmox — это не универсальное решение, и неправильный выбор стека стоит вам вечера, который вы бы хотели потратить на сами сервисы. Кто-то запускает ВМ Debian с Docker внутри. Кто-то запускает Docker напрямую в неприоставленном LXC контейнере. Кто-то использует шаблон Docker LXC. Каждый вариант имеет реальные компромиссы по накладным расходам на ввод-вывод, стратегии резервного копирования и транзиту PCIe для работы с GPU. Правильный выбор зависит от вашего оборудования и того, что именно делают контейнеры.

Эти семь инструментов решают половину проблемы — “управление контейнерами в выбранной вами конфигурации”. Сопоставьте их с формой, которая подходит вашей системе (ВМ для изоляции, LXC для плотности, голое железо для рабочих нагрузок с интенсивными GPU), и вы сэкономите много времени на оптимизацию.

На что обратить внимание в инструменте управления Docker-on-Proxmox

Быстрое сравнение

Приложение Лучше всего для Платформы Бесплатный план Начальная цена/месяц Рейтинг
Portainer Полное управление Linux, Windows, Mac Community Edition бесплатно Business от ~$2,03 на узел 4,7 на GitHub
Dockge Управление Compose стеками Linux Бесплатный открытый исходный код Бесплатно 4,8 на GitHub
Komodo Оркестрация нескольких серверов Linux Бесплатный открытый исходный код Бесплатно 4,6 на GitHub
Docker Compose Справочный инструмент CLI Linux, Windows, Mac Бесплатно Бесплатно Поставляется с Docker
Watchtower Автоматические обновления контейнеров Linux Бесплатный открытый исходный код Бесплатно 4,5 на GitHub
Yacht Развертывание на основе шаблонов Linux Бесплатный открытый исходный код Бесплатно 4,3 на GitHub
Lazydocker Интерфейс терминала для Docker Linux, Windows, Mac Бесплатный открытый исходный код Бесплатно 4,8 на GitHub

Приложения

1. Portainer, лучший в целом

Portainer — это справочный веб-интерфейс для Docker и остается самой безопасной рекомендацией для домашней лаборатории Proxmox. Он запускается внутри контейнера, указывает на любой сокет Docker (локальный, удаленный или Swarm) и предоставляет чистый интерфейс для контейнеров, стеков, томов и сетей. Community Edition бесплатна и охватывает все, что нужно домашнему пользователю.

Где он подводит: Некоторые расширенные функции RBAC доступны только в Business Edition. Интерфейс может казаться перегруженным при первом запуске.

Цены:

Платформы: Linux (контейнер), Windows, Mac (также контейнеризировано).

Скачать: portainer.io · GitHub

Суть: Первый выбор, если вам нужен полнофункциональный интерфейс без платного уровня и вы планируете расширение на несколько узлов.

2. Dockge, лучший для Compose стеков

Dockge от Louis Lam, разработчика Uptime Kuma, — это легкий менеджер Compose стеков. Он читает и пишет файлы compose непосредственно на диск в папке, которую вы контролируете, что означает, что ваши стеки остаются переносимыми, контролируемыми версиями и понятными даже если Dockge исчезнет.

Где он подводит: Только один узел. Без RBAC. Нет интерфейса сборки образов.

Цены:

Платформы: Linux (контейнер).

Скачать: GitHub

Суть: Выбор для настройки с одним хостом Proxmox, файлами docker-compose и когда вам нужен интерфейс, который уважает вашу структуру файлов.

3. Komodo, лучший для многосерверной оркестрации

Komodo (ранее Monitor) — это новое поколение менеджера Docker для нескольких серверов. Он запускает центральный сервер и легкие агенты на каждом хосте Docker, что дает вам одну панель управления для контейнеров, работающих на нескольких узлах Proxmox. Написан на Rust, использует минимальные ресурсы.

Где он подводит: Молодой проект, документация отстает. Некоторые потоки интерфейса еще кажутся неполированными в сравнении с Portainer.

Цены:

Платформы: Linux (сервер плюс агенты).

Скачать: GitHub

Суть: Правильный выбор, когда вы переходите за пределы одного хоста Proxmox и хотите единого управления.

4. Docker Compose, лучшая база

Docker Compose — это справочный декларативный инструмент. В нем нет ничего веб-ориентированного. Вы пишете YAML, запускаете docker compose up -d, коммитите файл в git репозиторий и спите спокойно. Для всех, кто предпочитает текст интерфейсам или планирует перейти на Kubernetes, это то место, где нужно начать.

Где он подводит: Нет интерфейса. Многохостовое управление требует Compose по SSH, что минимально.

Цены:

Платформы: Linux, Windows, Mac.

Скачать: docs.docker.com

Суть: Каждая настройка Docker на Proxmox должна начинаться отсюда. Добавьте интерфейс позже, если захотите.

5. Watchtower, лучший для автоматических обновлений

Watchtower — это не интерфейс управления, это работающий контейнер, который следит за другими контейнерами и обновляет их, когда появляется новый образ. Установите один раз, забудьте и получайте уведомления по электронной почте или Discord каждый цикл. Хорошо работает с Portainer, Dockge и Komodo.

Где он подводит: Автоматическое обновление может сломать стеки с критическими изменениями. Закрепляйте критические сервисы с конкретными тегами вместо latest.

Цены:

Платформы: Linux.

Скачать: GitHub

Суть: Установите его вместе с любым интерфейсом, который вы выберите.

6. Yacht, лучший для развертывания на основе шаблонов

Yacht берет идею “app store” и применяет ее к Docker. Шаблоны для популярных приложений с собственным хостингом позволяют развернуть Immich, Vaultwarden, Jellyfin и десятки других несколькими кликами, затем отредактировать результирующий стек обычно. Популярен в сообществе r/selfhosted.

Где он подводит: Темп разработки замедлился в 2024 году. Меньше участников, чем в Portainer или Dockge.

Цены:

Платформы: Linux (контейнер).

Скачать: yacht.sh · GitHub

Суть: Отлично для новичков, которые хотят шаблоны. Переходите на Dockge или Portainer, если проект дальше стагнирует.

7. Lazydocker, лучший интерфейс терминала

Lazydocker от Jesse Duffield дает вам интерфейс терминала, управляемый клавиатурой, для Docker. Идеален для SSH на хост Proxmox, чтобы проверить логи, перезагрузить сервис или найти утечку контейнера без открытия браузера. Следует тем же соглашениям, что и Lazygit.

Где он подводит: Только терминал, нет удаленного интерфейса, нет командных функций. Не построен для общего управления.

Цены:

Платформы: Linux, Windows, Mac.

Скачать: GitHub

Суть: Правильный инструмент для администраторов, живущих в SSH сессиях.

Как выбрать правильный

FAQ

Должен ли я запускать Docker в ВМ или LXC на Proxmox?

ВМ безопаснее и портативнее, с небольшим затратой на ввод-вывод. LXC плотнее и почти родное, ценой общего ядра хоста и необходимости включить вложенность. Для большинства домашних лабораторий ВМ Debian с Docker внутри — наименее удивительный путь. Для плотных arm64 или интенсивных рабочих нагрузок ввода-вывода LXC с Docker быстрее.

Могу ли я запустить Portainer внутри LXC контейнера?

Да, при условии, что Docker запускается внутри этого LXC контейнера. Функции keyctl и nesting должны быть включены в конфигурации контейнера. Вики сообщества Proxmox имеет руководство Docker-in-LXC, которое стоит изучить.

Что насчет Docker Swarm на Proxmox?

Swarm по-прежнему работает, но многоузловая оркестрация Compose с Komodo или Portainer Business Edition в значительной степени заменила его для использования в домашних лабораториях. Kubernetes на Proxmox через K3s — это другой путь для тех, кто хочет его.

Как я резервирую Docker тома на Proxmox?

Самый чистый путь — держать все привязанные монтирования в одном каталоге, делать снимок этого каталога ночью с помощью Proxmox Backup Server (резервная копия уровня ВМ справляется с этим автоматически) и позволить Watchtower справиться с обновлениями образов. Пропустите встроенные Docker тома для всего, что вас волнует.

Действительно ли Portainer Community Edition бесплатна навсегда?

Да. Лицензия Community Edition — это BSD-3, без искусственных лимитов узлов, без бомб замедленного действия. Business Edition добавляет RBAC, LDAP и поддержку, которые большинству домашних пользователей не требуются.