Что такое Docker и Docker Compose многократно рассказывали в различных статьях в интернете. В связи с этим я не буду повторяться и мы с вами сразу перейдём к практике установки Docker и Docker Compose на Red Hat Enterprise Linux 8 (RHEL 8). По информации от читателей данный способ подходит и для CentOS 8.

Если установку производим не под учётной записью администратора, то в терминале вначале всех команд прописываем команду sudo. Пример: sudo yum install

Можно переключиться на учётную запись root, устанавливаем под ним всё необходимое и выходим из учётной записи root.

Установка Docker

Предварительно удалим старые версии и зависимости (контейнеры и образы останутся):

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine podman runc

Установим зависимости:

yum install -y yum-utils device-mapper-persistent-data lvm2

Скачиваем данные из официального репозитория Docker:

cd /etc/yum.repos.d/
curl -O https://download.docker.com/linux/centos/docker-ce.repo

Устанавливаем Docker:

yum repolist
yum install docker-ce docker-ce-cli containerd.io -y

Запускаем и прописываем в автозагрузку Docker:

systemctl start docker
systemctl enable docker

Для выполнения команд docker без переключения в корневой каталог для непривилегированных учётных записей нам нужно добавить эти учётные записи в группу docker. К примеру, есть пользователь user. Добавляем его в группу:

usermod -aG docker user

После установки проверим версию и статус Docker:

docker -v
docker info

Установка Docker Compose

Загрузим текущую версию Docker Compose:

curl -L "https://github.com/docker/compose/releases/download/v2.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Номер текущей стабильной версии вы всегда можете посмотреть в репозитории разработчика https://github.com/docker/compose

Применим разрешения на исполнение бинарных файлов:

chmod +x /usr/local/bin/docker-compose

После установки проверим версию Docker Compose:

docker-compose --version

Если после выполнения команды получаете ошибку bash: docker-compose: command not found, то выполните следующую команду для создания символической ссылки:

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

После этого ошибка пропадёт.

Установка завершена. Теперь можно работать с Docker и Docker Compose.