Перейти к основному контенту

Глава 1.3: Правильная установка Docker и Docker Compose

Существует несколько способов установить Docker в Linux (например, через стандартный менеджер пакетов `apt` самого Debian или скриптом-однострочником из интернета). Но самый правильный и чистый метод — подключить официальный репозиторий разработчиков Docker. Так мы гарантированно получим самую свежую, стабильную и безопасную версию движка.


Шаг 1: Удаление старых версий (на всякий случай)

Если вы ранее случайно устанавливали какие-то компоненты Docker, они могут конфликтовать с официальной версией. Очистим систему от возможных хвостов одной командой (если ничего не было установлено, система просто сообщит об этом, это нормально):

sudo apt-get remove docker docker-engine docker.io containerd runc

Шаг 2: Добавление официальных GPG-ключей Docker

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

# Создаем безопасную директорию для ключей, если ее нет
sudo mkdir -p /etc/apt/keyrings

# Скачиваем официальный GPG-ключ Docker
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc

# Настраиваем правильные права доступа для файла ключа
sudo chmod a+r /etc/apt/keyrings/docker.asc

Шаг 3: Подключение официального репозитория

Теперь добавим сам адрес репозитория Docker в список источников пакетов Debian:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Шаг 4: Установка Docker и Docker Compose

После добавления нового источника обязательно обновляем индекс пакетов системы и устанавливаем сам Docker вместе с современным плагином Docker Compose:

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

Примечание: Мы устанавливаем именно docker-compose-plugin. Это современная вторая версия Compose, которая вызывается через пробел (docker compose), а не через дефис (docker-compose), как это было в старых версиях.


Шаг 5: Настройка работы без sudo (Удобство)

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

sudo usermod -aG docker $USER

⚠️ Важно: Чтобы эти изменения вступили в силу, нужно обновить права текущей сессии в консоли. Выполните команду:
newgrp docker
Или просто переподключитесь к серверу по SSH заново.


Проверка работоспособности

Убедимся, что Docker успешно установлен, запущен и слушается нас без прав root. Запустим тестовый микро-контейнер:

docker run hello-world

Если все сделано правильно, Docker скачает проверочный образ из Docker Hub и выведет в консоль большой приветственный текст, начинающийся с:

Hello from Docker! This message shows that your installation appears to be working correctly.

А заодно проверим, что у нас установлена актуальная версия Docker Compose:

docker compose version

Чистка хвостов: Тестовый контейнер выполнил свою задачу и больше нам не нужен. Давайте сразу удалим его образ, чтобы на сервере не оставалось ничего лишнего:

docker rm $(docker ps -a -q) --force

🎉 Первый раздел завершен! Фундамент нашей ИТ-лаборатории заложен идеально. Мы разобрались в теории, подготовили файловую структуру в /stacks и чисто накатили Docker.
Впереди самое интересное — Раздел 2, где мы перейдем к практике, разберем анатомию файлов конфигурации и запустим ваш первый полноценный сервис.