MAATRIX / Блог / Debian 12: установка Docker с нуля

Debian 12: установка Docker с нуля

Debian 12: установка Docker с нуля

MAATRIX

Docker превращает установку приложений из мучений с зависимостями в одну команду: контейнер несёт всё нужное внутри себя и запускается одинаково на любом сервере. Установка Docker на Debian 12 с нуля занимает несколько минут, если ставить из официального репозитория, а не из устаревших пакетов дистрибутива. Разберём по шагам: подключим репозиторий Docker, поставим движок, проверим его, настроим запуск без sudo и добавим Docker Compose для управления связками контейнеров. Стабильный Debian — отличная база под контейнеры.

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Зачем нужен Docker

Главная боль при установке софта на сервер — конфликты зависимостей. Одному приложению нужна одна версия библиотеки, другому — другая, и они не уживаются на одной системе. Docker решает это радикально: каждое приложение живёт в изолированном контейнере со своими библиотеками, не пересекаясь с соседями. Вы можете держать на одном сервере сайт на старом PHP и сервис на новом Python, и они не будут мешать друг другу.

Второе преимущество — воспроизводимость. Контейнер, собранный по описанию (образу), запускается идентично и на вашем ноутбуке, и на боевом сервере, и у коллеги. Исчезает классическая отговорка «у меня всё работало». Для развёртывания готового ПО это особенно удобно: множество проектов публикуют официальные образы, и запуск сложного сервиса сводится к одной команде вместо страницы инструкций. Понимая эти выгоды, перейдём к установке — но ставить будем правильно, из официального источника.

Почему не из стандартного репозитория

В репозитории Debian есть пакет docker.io, но он часто заметно отстаёт от актуальной версии. Для сервера, который будет работать долго, лучше подключить официальный репозиторий Docker — тогда вы получите свежий движок и своевременные обновления, включая встроенный Compose. Это чуть больше шагов на старте, зато потом никаких проблем с устаревшими версиями.

Сначала подготовьте систему: обновите пакеты и поставьте утилиты, нужные для работы с репозиториями по HTTPS:

apt update
apt install -y ca-certificates curl gnupg

Эти пакеты позволяют системе доверять внешнему репозиторию и безопасно скачивать из него. ca-certificates отвечает за проверку сертификатов, curl скачивает ключ, gnupg проверяет его подпись. Без них подключение стороннего репозитория либо не сработает, либо будет небезопасным. В минимальном Debian этих утилит может не быть, поэтому шаг обязателен.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS на Debian 12

Подключаем официальный репозиторий

Добавьте GPG-ключ Docker, которым подписаны пакеты, и пропишите сам репозиторий в источники apt. Ключ гарантирует, что пакеты действительно от Docker, а не подменены по пути:

install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg

После добавления ключа пропишите репозиторий Docker для Debian (bookworm) в файл /etc/apt/sources.list.d/docker.list и обновите списки пакетов командой apt update. Обратите внимание, что адрес репозитория для Debian отличается от адреса для Ubuntu — используйте именно debian в пути, иначе получите пакеты не от той системы. Теперь apt знает, где брать официальный Docker, и проверяет подлинность пакетов по ключу. Этот аккуратный подход с проверкой подписи — стандарт безопасной установки любого стороннего софта.

Ставим движок Docker

Установите сам движок и сопутствующие компоненты, включая плагин Compose:

apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Разберём, что мы ставим. docker-ce — сам движок (Community Edition), docker-ce-cli — команда docker для управления им, containerd.io — низкоуровневая среда выполнения контейнеров, docker-compose-plugin — современный Compose, встроенный прямо в docker. После установки движок запускается автоматически и добавляется в автозагрузку. Убедитесь, что служба работает: systemctl status docker должна показать active (running).

Проверяем установку

Классический тест — запустить крошечный проверочный образ, который скачивается, выводит приветствие и завершается:

docker run hello-world

Если вы увидели сообщение «Hello from Docker!», значит движок скачал образ из реестра, создал из него контейнер, запустил его и корректно завершил — вся цепочка работает. Полезно также освоить повседневный набор команд: docker ps показывает работающие контейнеры, docker ps -a — все, включая остановленные, docker logs имя выводит логи контейнера при разборе проблем, docker images перечисляет скачанные образы, а docker system prune освобождает место от неиспользуемых образов и остановленных контейнеров. Эти команды образуют ежедневный инструментарий администратора Docker.

Запускаем Docker без sudo

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

usermod -aG docker ваш_пользователь

После этой команды нужно выйти из сессии и зайти заново, чтобы изменение членства в группе вступило в силу. Важно понимать нюанс безопасности: члены группы docker фактически получают права root на сервере, потому что через контейнеры можно смонтировать любую часть системы. Поэтому добавляйте в эту группу только доверенных пользователей и относитесь к такому доступу так же серьёзно, как к sudo. На личном сервере это оправданное удобство, но на машине с несколькими пользователями лишний раз подумайте, кому его давать.

Собираем связки через Docker Compose

Реальные приложения редко состоят из одного контейнера: обычно это веб-сервер, база и кэш вместе. Управлять ими по отдельности утомительно — для этого есть Compose. Вы описываете все сервисы в одном файле compose.yaml, а потом поднимаете весь набор одной командой:

docker compose up -d

Флаг -d запускает контейнеры в фоне. В файле compose.yaml для каждого сервиса указывают образ, порты, переменные окружения и тома для хранения данных. Такой файл — это исполняемое описание всей вашей инфраструктуры: его удобно хранить в системе контроля версий, переносить между серверами и разворачивать заново одной командой. Остановить всё так же просто — docker compose down. Именно Compose превращает Docker из инструмента для одиночных контейнеров в удобное средство развёртывания полноценных приложений. С этого момента у вас есть всё для запуска практически любого контейнеризованного проекта.

Нужен сервер под эту задачу?

Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.

Арендовать VPS на Debian 12

Обсудить статью, задать вопрос или начать новую тему

Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.

Перейти в сообщество →

Частые вопросы

Docker или docker.io из репозитория Debian?

Для боевого сервера предпочтителен официальный docker-ce: он свежее, регулярно обновляется и включает встроенный Compose. Пакет docker.io проще ставится, но часто отстаёт по версии.

Данные в контейнере пропадают после перезапуска?

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

Сколько ресурсов нужно под Docker?

Сам движок почти ничего не потребляет, всё зависит от контейнеров. Для пары лёгких сервисов хватает 1–2 ГБ RAM, под тяжёлые базы берите тариф с запасом памяти.

Как оплатить VPS под Docker из России?

У MAATRIX доступна оплата картой российского банка, по СБП, криптовалютой и токеном MAAT — иностранная карта не требуется.

Нужны сами нейросети для контента?

Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.