Docker запускает программы в изолированных контейнерах: вы берёте готовый образ и запускаете его одной командой, не настраивая окружение вручную. Для этого подходят n8n, боты, базы данных и многие другие сервисы. Docker нетребователен: для обычных задач хватает 1–2 ядер и 2 ГБ памяти, но нагрузку определяют ваши контейнеры. Задачи под Docker собраны на странице VPS для Docker.
Команды ниже повторяют официальную инструкцию Docker и подходят для Ubuntu 24.04 и 26.04. 5 октября 2026 года они выполнены по порядку на новом VPS с Ubuntu 26.04. Выполняйте их под пользователем с sudo. Как его создать, написано в статье первая настройка VPS.
Шаг 1. Удалите конфликтующие пакеты
Если на сервере уже стоял неофициальный Docker, он будет мешать. Проверьте и удалите:
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc docker-buildx podman-docker containerd runc | cut -f1)
Команда находит среди установленных пакеты, которые конфликтуют с официальным Docker, и удаляет их. На чистом сервере удалять нечего: apt сообщит, что не указано ни одного пакета, это нормально. Образы и контейнеры из /var/lib/docker/ при этом не удаляются.
Шаг 2. Подключите репозиторий Docker
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
По строкам: обновляем список пакетов, ставим curl и сертификаты, создаём папку для ключей, скачиваем ключ Docker для проверки подписи пакетов и разрешаем всем его читать.
Теперь добавьте сам репозиторий. Скопируйте блок целиком, от sudo tee до EOF:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
Команда записывает описание репозитория в файл docker.sources: в него подставляются кодовое имя вашей Ubuntu (для 24.04 это noble, для 26.04 resolute) и архитектура сервера. Затем список пакетов обновляется, и в нём появляются пакеты Docker.
Docker иногда меняет этот шаг. Если команда не сработала, сверьтесь со страницей docs.docker.com/engine/install/ubuntu/.
Шаг 3. Установите Docker
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Команда ставит сам сервис Docker (docker-ce), консольную программу docker (docker-ce-cli), среду запуска контейнеров containerd.io, сборщик образов buildx и плагин Compose. Служба запускается автоматически.
Шаг 4. Проверьте установку
sudo docker run hello-world
Docker скачает тестовый образ и запустит его. Если вы видите сообщение Hello from Docker!, всё работает. Состояние службы показывает sudo systemctl status docker.
Запуск без sudo
По умолчанию команды docker требуют sudo. Чтобы работать без него, добавьте пользователя в группу docker:
sudo usermod -aG docker $USER
newgrp docker
Первая команда добавляет текущего пользователя в группу, вторая применяет группу в текущей сессии (или выйдите и зайдите заново). Проверка: docker run hello-world без sudo.
Предупреждение о безопасности. Пользователь из группы
dockerфактически получает права root на сервере: через контейнер он может получить доступ к любым файлам хоста. Добавляйте в группу только тех, кому вы доверяете как администратору.
Docker Compose
Compose описывает несколько контейнеров в одном файле compose.yaml и запускает их вместе. Он установлен как плагин, команда пишется через пробел: docker compose, не docker-compose. Проверка:
docker compose version
Типичный порядок работы: создать папку, положить в неё compose.yaml, выполнить docker compose up -d. Пример с реальным сервисом есть в статье установка n8n на VPS.
Базовые команды
| Команда | Что делает |
|---|---|
docker ps |
Показывает запущенные контейнеры |
docker ps -a |
Показывает все контейнеры, включая остановленные |
docker images |
Список скачанных образов |
docker logs -f имя |
Выводит журнал контейнера, -f следит за новыми строками |
docker stop имя |
Останавливает контейнер |
docker rm имя |
Удаляет остановленный контейнер |
docker compose up -d |
Запускает сервисы из compose.yaml в фоне |
docker compose down |
Останавливает и удаляет контейнеры (тома с данными остаются) |
docker compose pull |
Скачивает свежие образы |
docker system df |
Показывает, сколько места занимают образы, контейнеры и тома |
Образы и логи накапливаются и занимают диск. Раз в какое-то время смотрите docker system df. Команду docker system prune запускайте только после прочтения того, что она удалит: она убирает остановленные контейнеры и неиспользуемые образы и сети.
Данные контейнеров храните в томах (volumes) и включайте их в резервные копии: удалённый контейнер без тома теряет всё, что в нём было.
Что делать дальше
Docker требует немного ресурсов, а конфигурацию подбирайте под ваши контейнеры. Для старта посмотрите VPS с 2 ядрами и 4 ГБ и страницу 2 ядра, 4 ГБ. Затем установите n8n или запустите бота.
