Начало работы с Docker на VPS

Автор: команда ApexVPS • Обновлено: июль 2026 • 8 мин чтения

Запуск Docker на VPS — это самый быстрый способ перейти от пустого Ubuntu-сервера к работающему веб-приложению, базе данных или самостоятельно размещенному сервису за считанные минуты. Вместо борьбы с системными пакетами и конфликтующими зависимостями вы загружаете готовый образ и запускаете контейнер. Это руководство для начинающих проведет вас через установку Docker и Docker Compose на Ubuntu или Debian, основные концепции, которые вам нужно знать, запуск первого контейнера, сохранение данных с помощью томов и несколько базовых аспектов безопасности, чтобы вы не обожглись.

Зачем запускать Docker на VPS?

Виртуальный сервер дает вам полный root-доступ и выделенные ресурсы — именно то, что нужно контейнерам. С установленным Docker вы можете запускать множество изолированных сервисов рядом, не мешая друг другу. Каждый контейнер поставляется со своими библиотеками, поэтому Node-приложение, база данных Postgres и обратный прокси могут сосуществовать на одной машине. Если ваша цель — размещение приложений на VPS — например, личное облако, вики или медиасервер — Docker делает каждый сервис аккуратным и воспроизводимым.

Контейнеры также переносимы. Тот же файл Compose, который работает на вашем ноутбуке, работает и на сервере, что устраняет классическую проблему «работает на моей машине». Пересборка сервиса после ошибки занимает секунды, а не полдня переустановки пакетов.

Основные понятия простыми словами

Прежде чем трогать командную строку, полезно знать четыре строительных блока:

Шаг 1: Установите Docker на Ubuntu или Debian

Самый простой официально поддерживаемый способ установки Docker Engine — скрипт автоматической установки. Подключитесь к серверу по SSH и выполните:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Это установит Docker Engine и плагин Compose. Когда установка завершится, проверьте версии:

docker --version
docker compose version

По умолчанию Docker требует sudo. Чтобы запускать его от вашего обычного пользователя, добавьте себя в группу docker, затем выйдите из системы и войдите снова, чтобы изменения вступили в силу:

sudo usermod -aG docker $USER

Docker также автоматически запускается при загрузке системы. Если вам когда-нибудь понадобится включить это вручную:

sudo systemctl enable --now docker

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

Шаг 2: Запустите первый контейнер

Проверьте установку с помощью классического образа hello-world:

docker run hello-world

Docker загрузит образ, запустит его один раз и выведет подтверждающее сообщение. Теперь запустим что-нибудь видимое. Эта команда запускает веб-сервер Nginx в фоне и пробрасывает порт 8080 на хосте на порт 80 в контейнере:

docker run -d -p 8080:80 --name web nginx

Откройте http://your-server-ip:8080 в браузере — вы увидите приветственную страницу Nginx. Полезно знать несколько флагов:

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

docker ps
docker stop web
docker rm web

Несколько команд покрывают большинство повседневных задач. docker images показывает загруженные образы, docker logs web отображает вывод контейнера для поиска ошибок, а docker exec -it web bash открывает оболочку внутри работающего контейнера, чтобы вы могли изучить его. Выучив эти пять-шесть команд, вы сможете уверенно управлять небольшим сервером, а остальное можно искать по мере необходимости.

Шаг 3: Используйте Docker Compose для приложений с несколькими контейнерами

Вводить длинные команды docker run быстро надоедает. Docker Compose позволяет описать весь ваш стек в одном файле и запустить его одной командой. Создайте файл с именем compose.yaml:

services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
    volumes:
      - web-data:/usr/share/nginx/html
    restart: unless-stopped

volumes:
  web-data:

Из той же директории запустите все в фоновом режиме:

docker compose up -d

Compose создает сеть, именованный том и контейнер за вас. Полезные команды:

docker compose ps
docker compose logs -f
docker compose down

Политика restart: unless-stopped означает, что сервис автоматически возвращается после перезагрузки или сбоя — удобно для сервера, за которым вы не наблюдаете круглосуточно.

Шаг 4: Сохраняйте данные с помощью томов

Это часть, в которой новички чаще всего ошибаются. Все, что записано в собственной файловой системе контейнера, исчезает при удалении или пересоздании контейнера. Чтобы сохранить данные, поместите их в том. Есть два распространенных подхода:

Просматривайте и управляйте томами из командной строки:

docker volume ls
docker volume inspect web-data

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

Шаг 5: Обновление образов и контейнеров

Образы контейнеров получают обновления безопасности и функций, как и любое программное обеспечение. Обновление стека Compose — это двухэтапный процесс: загрузите новые образы, затем пересоздайте контейнеры.

docker compose pull
docker compose up -d

Поскольку ваши данные хранятся в томах, пересоздание безопасно. Со временем неиспользуемые образы накапливаются и занимают место на диске. Периодически очищайте их:

docker image prune

Используйте конкретные версии тегов (например postgres:16 вместо latest), когда вам нужны предсказуемые и повторяемые обновления без сюрпризов.

Основы безопасности Docker для начинающих

Контейнеры удобны, но они не являются магическим барьером безопасности. Несколько привычек уберегут вас от проблем:

Прежде чем открывать что-либо публично, ознакомьтесь с нашим чек-листом о том, как защитить ваш VPS в первые 10 минут — он охватывает SSH-ключи, межсетевой экран и автоматические обновления, которые отлично сочетаются с Docker-хостом.

Выбор VPS, готового к Docker

Docker работает и на скромном оборудовании, но выделенные ресурсы действительно имеют значение, когда вы размещаете несколько контейнеров. Общий, перепроданный хостинг означает, что шумный сосед может замедлить вашу базу данных в самый неподходящий момент. ApexVPS предоставляет вам по-настоящему выделенные vCPU, NVMe SSD-хранилище и полный root-доступ, поэтому ваши контейнеры получают производительность, за которую вы платите. Каждый план поддерживает Ubuntu, Debian и другие популярные дистрибутивы, и вы можете добавить свой SSH-ключ при регистрации.

Оплата только криптовалютой через OxaPay, принимаются Bitcoin, Ethereum, USDT и более 30 криптовалют — без кредитной карты, без банковского счета и без KYC. Вы указываете email для получения данных доступа, и это все. Сравните характеристики и регионы на странице тарифов ApexVPS, чтобы выбрать план, подходящий для вашей контейнерной нагрузки.

Часто задаваемые вопросы

Нужно ли много ОЗУ для запуска Docker на VPS?

Нет. Docker сам по себе легковесен и добавляет небольшие накладные расходы. Один-два контейнера комфортно работают на 2 ГБ ОЗУ, а 4 ГБ и более дают запас для баз данных и нескольких сервисов одновременно.

Это docker-compose или docker compose?

В современных установках Compose поставляется как плагин, поэтому команда — docker compose с пробелом. Старый автономный бинарник docker-compose еще работает, но постепенно выводится из эксплуатации — используйте версию плагина в свежей установке.

Где хранятся мои данные при удалении контейнера?

Все, что записано внутри контейнера, теряется при его удалении. Храните важные данные в именованном томе или bind-mount, чтобы они пережили пересоздание контейнера. Так базы данных и загрузки остаются в безопасности.

Можно ли оплатить VPS для Docker криптовалютой?

Да. Оплата на ApexVPS принимается только в криптовалюте через OxaPay: Bitcoin, Ethereum, USDT и более 30 монет. Для регистрации нужен только email — без кредитной карты и без верификации личности.

Готовы развернуть первый контейнер? Смотреть тарифы VPS для Docker →