Как установить Docker и Docker Compose на Ubuntu и RedHat системы (2025)

Docker остаётся стандартом де-факто для контейнеризации и разработки. Однако установка отличается в зависимости от семейства Linux-дистрибутивов. В этой инструкции разберём два основных сценария:

  • 🟦 Debian (Ubuntu, Linux Mint, Debian)

  • 🟥 RedHat (RHEL, Rocky, AlmaLinux, CentOS Stream, Fedora)

Также настроим docker-compose, проверим работу и дадим советы по оптимизации.


Установка Docker на Debian/Ubuntu

Шаг 1. Удаляем старые версии

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

Шаг 2. Устанавливаем зависимости

sudo apt update
sudo apt install -y ca-certificates curl gnupg lsb-release

Шаг 3. Добавляем официальный репозиторий Docker

// Добавляем GPG-ключ 
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
// Добавляем репозиторий
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
  | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Шаг 4. Устанавливаем Docker Engine, CLI и containerd

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

Шаг 5. Добавляем пользователя в группу docker

Чтобы не писать sudo каждый раз:

sudo usermod -aG docker $USER
newgrp docker

Шаг 6. Проверяем работу

docker run hello-world

Установка Docker на RedHat/Rocky/CentOS/Fedora

Шаг 1. Удаляем старые версии

sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest \
docker-latest-logrotate docker-logrotate docker-engine

Шаг 2. Устанавливаем необходимые пакеты

sudo dnf -y install dnf-plugins-core

Шаг 3. Добавляем репозиторий Docker

Для RHEL, Rocky, CentOS Stream:

sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Для Fedora:

sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo

Шаг 4. Устанавливаем Docker Engine + CLI

sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Шаг 5. Включаем и запускаем сервис

sudo systemctl enable --now docker

Шаг 6. Проверяем

docker run hello-world

Установка Docker Compose (если нужен отдельный бинарник)

Хотя новые версии Docker используют Compose V2 как плагин (docker compose), иногда требуется старая команда docker-compose.

Узнаём последнюю версию:

VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d '"' -f 4)

Скачиваем бинарник

sudo curl -L "https://github.com/docker/compose/releases/download/${VERSION}/docker-compose-$(uname -s)-$(uname -m)" \
  -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Проверяем:

docker-compose --version

Тестовый docker-compose.yml

Для проверки создадим простой файл:

version: '3.8'
services:
  web:
    image: nginx:alpine
    ports:
      - "8080:80"

Запускаем:

docker compose up -d

Открываем в браузере:

http://localhost:8080

Должна появиться тестовая страница nginx c сообщением "Welcome to nginx!"


5. Частые ошибки и решения

Нет доступа к Docker без sudo

sudo usermod -aG docker $USER
newgrp docker

Ошибка "Cannot connect to the Docker daemon"

Проверьте сервис:

sudo systemctl status docker
sudo systemctl start docker

SELinux блокирует контейнеры

Для Rocky / RHEL:

sudo setenforce 0

или корректная политика:

sudo dnf install container-selinux

Комментарии (0)

Войдите, чтобы оставить комментарий

Похожие статьи