Docker – платформа, которая позволяет упаковывать приложения в образы и запускать их в изолированных контейнерах, представляющих собой лёгкие виртуализированные процессы. Контейнер работает поверх ядра системы и отделён от других приложений.
В своей минимальной рабочей конфигурации Docker предоставляет средства для сборки образов, а также для запуска и управления контейнерами. При этом каждым контейнером необходимо управлять отдельно. Когда же приложение состоит из нескольких взаимосвязанных сервисов, то во многих случаях удобнее применять его надстройку – Docker Compose. В противовес ручному запуску каждого контейнера, Docker Compose позволяет в один файл поместить описание нескольких приложений-контейнеров, являющихся частью одного сервиса. Docker Compose обеспечивает запуск всех описанных сервисов одной командой, автоматически создавая сеть и конфигурацию.
В статье рассмотрим, как установить Docker Compose на VPS, работающий под управлением CentOS Stream 9.
Установка Docker
Сначала необходимо установить в систему пакеты, обеспечивающие полный базовый функционал Docker, то есть запуск, управление и работу контейнеров. Для этого добавьте репозиторий Docker в конфигурацию пакетного менеджера DNF:
$ sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Затем установите пакеты, обязательные для работы Docker:
$ sudo dnf install docker-ce docker-ce-cli containerd.io
В минимальный рабочий набор пакетов Docker входят:
docker-ce
– основной пакет Docker Community Edition;docker-ce-cli
– CLI-клиент для управления платформой из командной строки;containerd.io
– контейнерный движок, который использует Docker.
Если вы планируете собирать образы с помощью BuildKit, например, мультиархитектурные сборки или оптимизированное кэширование, то дополнительно установите пакет docker-buildx-plugin
:
$ sudo dnf install docker-buildx-plugin
Чтобы убедиться в успешной инсталляции, выведите на экран версию Docker:
$ docker --version

При установке создаётся системный сервис docker, который необходимо запустить:
$ sudo systemctl start docker
И установить в автозагрузку:
$ sudo systemctl enable docker
Проверить корректность запуска службы можно через вывод её текущего состояния:
$ systemctl status docker
Вывод команды не должен содержать сообщений об ошибках.

Как установить Docker Compose на CentOS Stream 9
Наиболее простой способ получить последнюю версию Docker Compose – это загрузка его бинарного файла при помощи утилиты curl
напрямую с официального репозитория на GitHub. А поскольку в Docker, начиная с версии 20.10, Compose работает как плагин для Docker CLI, необходимо разместить бинарный файл в каталоге, в котором плагин автоматически становится доступен как встроенная команда. Это позволит запускать его исполняемую команду без каких-либо дополнительных настроек, так как все дополнительные возможности работают через одну точку входа – CLI.
Docker ищет плагины в нескольких директориях, руководствуясь определёнными приоритетами. При этом директорией из их числа, доступной для всех пользователей системы, является /usr/local/lib/docker/cli-plugins/
. Если вы только что установили Docker, то, вероятно, данного каталога на вашем сервере ещё нет. Поэтому следующим шагом создайте его:
$ sudo mkdir -p /usr/local/lib/docker/cli-plugins/
Затем в созданный каталог загрузите бинарный файл актуальной версии 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
Она должна совпадать с версией его последнего релиза на GitHub.

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