Linux

Установка Docker и Docker Compose на VPS

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

1 мин чтенияОбновлено 19 октября 2026 г.

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

Установка

Официальный скрипт устанавливает Docker и плагин Compose в Ubuntu и Debian:

curl -fsSL https://get.docker.com | sh

Проверьте, что всё работает:

docker run --rm hello-world
docker compose version

Пример с Compose

Создайте каталог с файлом docker-compose.yml, например для простого сайта:

services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro
    restart: unless-stopped
docker compose up -d       # запустить в фоне
docker compose logs -f     # смотреть логи
docker compose down        # остановить

Благодаря restart: unless-stopped контейнер сам запустится после перезагрузки VPS.

Внимание: Docker обходит ufw

Порты, которые вы публикуете через ports: (или -p), открываются в интернет, даже если ufw показывает, что они закрыты: Docker прописывает в файрвол собственные правила. Именно из-за этого многие базы данных случайно оказываются открыты всему интернету.

Если сервис нужен только другим контейнерам или самому серверу, публикуйте его только локально:

    ports:
      - "127.0.0.1:3306:3306"

А контейнерам из одного docker-compose.yml вообще ничего публиковать не нужно: они видят друг друга по имени сервиса.

Очистка

Старые образы накапливаются и заполняют диск. Время от времени выполняйте:

docker system prune

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

Похожие статьи

Назад в справочный центр

Не нашли, что искали?

Создайте тикет в личном кабинете — мы ответим меньше чем за 5 минут.