
Docker и Docker Compose фактически превратились в универсальный инструмент для работы с контейнерами и оркестрации многокомпонентных приложений. Эти технологии уже давно заняли прочное место в инфраструктуре серверов на базе Linux. Однако официальные репозитории дистрибутивов, таких как Debian, нередко предлагают пакеты, которые отстают от последних релизов. В результате пользователи могут столкнуться либо с отсутствием новых возможностей, либо с проблемами совместимости при работе с контейнерами.
Новые релизы Docker и Docker Compose часто включают оптимизации производительности, которые позволяют контейнерам работать быстрее и потреблять меньше ресурсов. Разработчики регулярно добавляют поддержку новых возможностей ядра и API, а также улучшают совместимость с современными образами и сторонними инструментами, что делает работу более стабильной.
В статье рассмотрим процесс установки актуальных версий Docker и Docker Compose на Debian 12.
Что такое Docker и Docker Compose
Docker, а точнее его ядро Docker Engine, представляет собой платформу для запуска и управления контейнерами. С его помощью приложение вместе со всеми необходимыми библиотеками и зависимостями изолируется в самостоятельную среду, что делает процесс развёртывания предсказуемым, а переносимость и масштабирование – проще. В случаях, когда требуется запуск только одного сервиса, работающего в рамках одного контейнера, возможностей Docker Engine обычно оказывается достаточно.
Когда же система состоит из набора взаимосвязанных компонентов, таких как веб-сервер, база данных и сервис фоновой обработки, на помощь приходит Docker Compose. Данный инструмент позволяет описать архитектуру многоконтейнерного приложения в декларативном виде с помощью YAML-файла, где фиксируются все зависимости и правила взаимодействия между сервисами. После этого вся инфраструктура запускается одной командой, что значительно ускоряет настройку и облегчает администрирование.
Установка актуальной версии Docker на Debian
Подключитесь к терминалу вашего сервера и установите необходимые пакеты:
$ sudo apt install ca-certificates lsb-release gnupg curl
В данном случае команда устанавливает:
ca-certificates
– набор доверенных корневых сертификатов центров сертификации, используемый для проверки подлинности SSL/TLS-соединений;lsb-release
– утилита, которая показывает информацию о дистрибутиве Linux;gnupg
– реализация OpenPGP, которая используется для шифрования, подписи файлов, а также проверки цифровых подписей пакетов;curl
– утилита для работы с URL, позволяющая скачивать файлы.
Затем загрузите публичный ключ Docker, чтобы пакетный менеджер APT мог проверять подлинность пакетов Docker:
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg
После чего добавьте официальный репозиторий Docker в систему:
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Обновите списки пакетов, чтобы система узнала о добавленном репозитории:
$ sudo apt update
Далее установите набор приложений, необходимых для работы Docker:
$ sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin
В данный набор входят:
docker-ce
– основной движок Docker Community Edition;docker-ce-cli
– командная строка Docker Command Line Interface;containerd.io
– низкоуровневый контейнерный рантайм, фактически, «ядро» Docker, которое запускает контейнеры и управляет их жизненным циклом;docker-buildx-plugin
– расширение для сборки Docker-образов.
После того, как установка завершится, проверьте версию Docker:
$ docker --version

Установка актуальной версии Docker Compose на Debian
Docker CLI обеспечивает взаимодействие с Docker Engine и управление контейнерами. Помимо базовых команд, CLI поддерживает расширяемость через плагины. Когда пользователь запускает команду вида docker <plugin>
, система ищет соответствующий исполняемый файл в заранее определённых каталогах. Порядок поиска устроен по приоритету. Сначала проверяются локальные директории пользователя – в первую очередь путь, указанный в переменной окружения $DOCKER_CLI_PLUGIN_PATH
, если она задана. Затем – каталог ~/.docker/cli-plugins/
, предназначенный для плагинов конкретного пользователя. После этого Docker CLI обращается к системным путям /usr/local/lib/docker/cli-plugins/
для плагинов, установленных вручную, и /usr/lib/docker/cli-plugins/
, куда обычно помещаются плагины, установленные через пакетный менеджер.
Таким образом, целесообразно будет сделать так, чтобы Docker Compose, как один из дополнительных плагинов Docker CLI, располагался в месте, доступном для всех пользователей системы. Для этого создайте каталог:
$ sudo mkdir -p /usr/local/lib/docker/cli-plugins/
В созданный каталог при помощи утилиты curl
загрузите бинарный файл актуальной версии Docker Compose:
$ sudo curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/lib/docker/cli-plugins/docker-compose
После чего сделайте загруженный файл исполняемым:
$ sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose
Чтобы убедиться в доступности плагина, выведите на экран версию Docker Compose:
$ docker compose version

Теперь ваш сервер полностью подготовлен к работе с контейнерами: установлены актуальные версии Docker Engine и Docker Compose, которые обеспечивают доступ ко всем современным функциям платформы. Вы можете запускать отдельные контейнеры для тестирования или инсталлировать полноценные многокомпонентные приложения с помощью Compose. Это гарантирует не только максимальную совместимость с последними образами и инструментами, но и возможность использовать новые возможности платформы, а также получать своевременные обновления безопасности.