Docker на VPS: коротко и с данными

Конспект страницы: 4 раздела коротко, данные на 14 октября 2026 и ответы на 4 вопроса. Полный разбор с примерами: Docker на VPS.

Коротко

Docker на VPS упирается в одну вещь: тип виртуализации. На полной виртуализации KVM он работает как на обычном компьютере, на контейнерных тарифах либо запрещён правилами, либо работает с ограничениями. Проверьте виртуализацию до оплаты: нужен KVM.

Конспект по разделам

Почему тип тарифа решает всё

Docker использует возможности ядра операционной системы для изоляции процессов. На полной виртуализации ядро у вашей машины своё, и всё работает штатно. На контейнерном тарифе ядро общее с соседями по хосту.

Как считать память под контейнеры

Распространённое заблуждение: «контейнеры лёгкие, памяти нужно мало». Лёгкий сам контейнер, а не программа внутри него. Складывайте то, что будет работать одновременно.

Что настроить сразу

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

Когда Docker на сервере оправдан

Когда не нужен: если на сервере живёт один сайт на PHP, Docker добавит слой, за который придётся платить памятью и временем на поддержку. Общий порядок настройки: первая настройка сервера. Шаг дальше, с несколькими машинами, разобран в Kubernetes на VPS.

Данные

Что запускаетеПримерно памяти
Nginx в контейнере50-150 МБ
Приложение на Node.js или Python150-400 МБ
PostgreSQL или MySQL300-800 МБ
Redis100 МБ и больше под данные
Сам Docker и система500-600 МБ

Данные на 14 октября 2026.

Вопросы и ответы

Почему Docker не запускается на VPS?

Чаще всего тариф на контейнерной виртуализации: ядро там общее, и запуск контейнеров внутри контейнера запрещён или ограничен. Нужен KVM.

Сколько памяти нужно для Docker?

Сам Docker и система занимают около 500-600 МБ. Дальше складывайте требования программ в контейнерах.

Как не открыть базу данных в интернет через Docker?

Публиковать порт на локальный адрес: 127.0.0.1:5432:5432 вместо 5432:5432.

Нужен ли Docker для одного сайта?

Обычно нет. Для одного PHP-сайта он добавляет слой, который стоит памяти и времени на поддержку.