Docker представляет собой платформу, основанную на контейнерах – изолированных средах, содержащих приложение вместе со всеми необходимыми зависимостями. Такой подход обеспечивает единообразное поведение программного обеспечения независимо от окружения хостовой системы и устраняет типичные проблемы совместимости.
Основа работы Docker – Docker Engine. Это серверный компонент, который отвечает за создание, запуск и управление контейнерами. Его демон dockerd, взаимодействуя через REST API, обрабатывает все операции жизненного цикла контейнеров, а клиентская утилита docker служит интерфейсом для выполнения команд.
Для Linux-дистрибутивов, включая Rocky Linux, Docker распространяется в двух вариантах: Community Edition (CE) и Enterprise Edition (EE). В рамках технических руководств и большинства производственных сценариев применяется именно Docker CE. Это бесплатная версия, содержащая полноценный Docker Engine и все необходимые возможности для разработки, тестирования и эксплуатации контейнерных сред.
Далее рассмотрим, как установить Docker CE на VPS под управлением Rocky Linux 9.
Как установить Docker на Rocky Linux
По умолчанию Rocky Linux не включает Docker в стандартные репозитории. Необходимое подключение официального репозитория Docker позволяет обеспечить получение последних стабильных версий пакетов, которые регулярно обновляются. При этом Rocky Linux является бинарно совместимым с Red Hat Enterprise Linux (RHEL), поэтому использует репозиторий Docker, предназначенный для систем семейства RHEL.
Исходя из чего, во-первых, добавьте в систему официальный репозиторий Docker:
$ sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
Затем установите Docker и связанные компоненты:
$ sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Данная команда инсталлирует в систему:
docker-ce– Docker Community Edition: сам Docker Engine, основной движок для запуска контейнеров, включающий в себя демонdockerd, который управляет контейнерами, образами, сетями и томами;docker-ce-cli– клиент командной строки Docker, через которого осуществляется взаимодействие с Docker;containerd.io– низкоуровневая среда выполнения контейнеров, которую Docker использует как базовый слой для управления жизненным циклом контейнеров;docker-buildx-plugin– расширенный инструмент для сборки образов;docker-compose-plugin– инструмент для управления многоконтейнерными приложениями с использованием YAML-файлов;
Данный набор – это рекомендуемый минимум для полноценной работы с Docker. Установив его, вы получаете движок, CLI, а также современные инструменты сборки и оркестрации. Флаг -y в команде автоматически подтверждает установку без запроса.
При инсталляции пакетный менеджер устанавливает файлы и регистрирует службу в systemd. При этом служба не запускается автоматически, и не включается в автозапуск при загрузке системы. Поэтому следующая команда устанавливает Docker в автоматический запуск при старте системы и сразу же запускает службу, не дожидаясь перезагрузки:
$ sudo systemctl --now enable docker
Чтобы убедиться в том, что Docker успешно запустился, выведите на экран текущее состояние службы docker:
$ systemctl status docker
Вывод команды не должен содержать ошибок, если служба Docker работает штатно.

Настройка выполнения команд Docker без sudo
Демон Docker работает от имени учётной записи root, из-за чего запуск клиентских команд docker требует повышенных прав. Поэтому при выполнении консольных команд Docker необходимо использовать sudo.
Но если система используется одним пользователем либо применяется автоматизация (скрипты, CI-пайплайны и другие инструменты), требующая выполнения команд Docker без префикса sudo, то вы можете настроить Docker таким образом, чтобы команды выполнялись без повышения привилегий. Для этого добавьте вашу учётную запись в группу docker:
$ sudo usermod -aG docker your-user
После чего перелогиньтесь в системе и, например, запустите вывод версии Docker:
$ docker -v
В нашем случае установленная версия Docker Engine – 29.1.2.

