Docker на VPS: коротко и с данными
Конспект страницы: 4 раздела коротко, данные на 14 октября 2026 и ответы на 4 вопроса. Полный разбор с примерами: Docker на VPS.
Коротко
Docker на VPS упирается в одну вещь: тип виртуализации. На полной виртуализации KVM он работает как на обычном компьютере, на контейнерных тарифах либо запрещён правилами, либо работает с ограничениями. Проверьте виртуализацию до оплаты: нужен KVM.
Конспект по разделам
Почему тип тарифа решает всё
Docker использует возможности ядра операционной системы для изоляции процессов. На полной виртуализации ядро у вашей машины своё, и всё работает штатно. На контейнерном тарифе ядро общее с соседями по хосту.
Как считать память под контейнеры
Распространённое заблуждение: «контейнеры лёгкие, памяти нужно мало». Лёгкий сам контейнер, а не программа внутри него. Складывайте то, что будет работать одновременно.
Что настроить сразу
Docker добавляет собственные правила в таблицы фаервола и может открыть порт, который вы считали закрытым. После настройки проверьте доступность портов снаружи, а не только правила в конфигурации.
- Не публиковать порты наружу без нужды.
- Ограничить память контейнерам.
- Настроить ротацию журналов.
- Хранить данные в томах.
Когда Docker на сервере оправдан
Когда не нужен: если на сервере живёт один сайт на PHP, Docker добавит слой, за который придётся платить памятью и временем на поддержку. Общий порядок настройки: первая настройка сервера. Шаг дальше, с несколькими машинами, разобран в Kubernetes на VPS.
- Несколько сервисов на одной машине.
- Повторяемое окружение.
- Быстрый откат.
- Софт без пакетов для вашей системы.
Данные
| Что запускаете | Примерно памяти |
|---|---|
| Nginx в контейнере | 50-150 МБ |
| Приложение на Node.js или Python | 150-400 МБ |
| PostgreSQL или MySQL | 300-800 МБ |
| Redis | 100 МБ и больше под данные |
| Сам Docker и система | 500-600 МБ |
Данные на 14 октября 2026.
Вопросы и ответы
Почему Docker не запускается на VPS?
Чаще всего тариф на контейнерной виртуализации: ядро там общее, и запуск контейнеров внутри контейнера запрещён или ограничен. Нужен KVM.
Сколько памяти нужно для Docker?
Сам Docker и система занимают около 500-600 МБ. Дальше складывайте требования программ в контейнерах.
Как не открыть базу данных в интернет через Docker?
Публиковать порт на локальный адрес: 127.0.0.1:5432:5432 вместо 5432:5432.
Нужен ли Docker для одного сайта?
Обычно нет. Для одного PHP-сайта он добавляет слой, который стоит памяти и времени на поддержку.