Linux

Установка Docker Compose на Ubuntu 22.04/20.04: полная инструкция

Этот гайд подробно объясняет, как установить Docker Compose на Ubuntu 22.04 или 20.04. Вы получите работающий инструмент для оркестрации контейнеров с поддержкой v2 и настройкой прав доступа.

Обновлено 16 февраля 2026 г.
10-15 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 22.04 LTSUbuntu 20.04 LTSDocker Compose v2

Введение / Зачем это нужно

Docker Compose — это инструмент для определения и запуска многоконтейнерных Docker-приложений. С помощью простого YAML-файла вы можете настроить сервисы, сети и тома, а затем запустить всё одной командой.

После выполнения этого гайда вы сможете:

  • Развертывать сложные приложения (например, веб-сервер + база данных) одной командой.
  • Управлять жизненным циклом контейнеров (запуск, остановка, пересборка).
  • Изолировать окружения для разработки, тестирования и продакшена.

Установка через официальный репозиторий Docker гарантирует получение актуальной версии (v2) с регулярными обновлениями и безопасностью.

Требования / Подготовка

Перед началом убедитесь, что:

  1. У вас есть Ubuntu 22.04 LTS или 20.04 LTS (инструкция проверена на этих версиях).
  2. У вас есть права суперпользователя (sudo) для установки пакетов.
  3. Docker Engine уже установлен и запущен.
    Если Docker не установлен, сначала выполните гайд по установке Docker на Ubuntu. Проверить можно командой:
    docker --version
    

    Пример вывода: Docker version 24.0.7, build afdd53b.
  4. Система обновлена (рекомендуется):
    sudo apt update && sudo apt upgrade -y
    

Шаг 1: Установка зависимостей

Установите curl для загрузки GPG-ключа и gnupg для работы с ним:

sudo apt update
sudo apt install -y curl gnupg

💡 Совет: Пакет ca-certificates обычно уже установлен, но если возникнут ошибки SSL, установите его: sudo apt install -y ca-certificates.

Шаг 2: Добавление официального GPG-ключа Docker

Docker подписывает свои пакеты GPG-ключом. Добавьте его в системное хранилище:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Что делает команда:

  • curl -fsSL — тихий загрузчик, следуют перенаправлениям.
  • gpg --dearmor — конвертирует ключ из ASCII-формата в бинарный.
  • Ключ сохраняется в /usr/share/keyrings/docker-archive-keyring.gpg — стандартное место для ключей APT.

Шаг 3: Добавление репозитория Docker в APT

Добавьте репозиторий Docker, соответствующий вашей версии Ubuntu:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Разбор команды:

  • $(dpkg --print-architecture) — автоматически определяет архитектуру (amd64, arm64 и т.д.).
  • $(lsb_release -cs) — определяет кодовое имя вашего релиза (jammy, focal).
  • Запись попадает в /etc/apt/sources.list.d/docker.list — отдельный файл для сторонних репозиториев.

Шаг 4: Установка плагина Docker Compose

Теперь установите сам плагин Docker Compose:

sudo apt update
sudo apt install -y docker-compose-plugin

⚠️ Важно: Пакет называется docker-compose-plugin (для версии v2). Не путайте с docker-compose (устаревшая v1), который может быть в репозиториях Ubuntu по умолчанию.

После установки Docker Compose будет доступен как плагин к Docker CLI: docker compose.

Шаг 5: Проверка установки

Убедитесь, что установка прошла успешно:

docker compose version

Ожидаемый вывод (пример):

Docker Compose version v2.24.5

Если видите версию — всё готово. Если команда не найдена, перезапустите Docker:

sudo systemctl restart docker

Шаг 6: Настройка прав доступа (опционально)

По умолчанию для работы с Docker и Docker Compose требуются права root. Чтобы использовать их без sudo:

  1. Добавьте текущего пользователя в группу docker:
    sudo usermod -aG docker $USER
    
  2. Перелогиньтесь в системе или выполните:
    newgrp docker
    
  3. Проверьте:
    docker ps
    
    Если нет ошибок доступа — настройка успешна.

⚠️ Предупреждение: Добавление в группу docker даёт права, эквивалентные root. Убедитесь, что доверяете всем пользователям в этой группе.

Проверка результата

Создайте тестовый проект для проверки:

  1. Создайте каталог и файл docker-compose.yml:
    mkdir ~/test-compose && cd ~/test-compose
    cat > docker-compose.yml <<EOF
    version: '3.8'
    services:
      hello-world:
        image: hello-world
    EOF
    
  2. Запустите:
    docker compose up
    
  3. Вы должны увидеть вывод образа hello-world и сообщение о успешном завершении.
  4. Очистите:
    docker compose down
    

Если всё работает — Docker Compose установлен и настроен корректно.

Возможные проблемы

Ошибка: docker: command not found после установки

Причина: Переменная PATH не обновлена или Docker не перезапущен.
Решение:

sudo systemctl restart docker
# Или перезагрузите систему

Ошибка: Got permission denied while trying to connect to the Docker daemon socket

Причина: Пользователь не в группе docker.
Решение: Выполните настройку прав доступа и перелогиньтесь.

Ошибка: The repository does not have a Release file

Причина: Неправильное кодовое имя Ubuntu в репозитории (например, используется не支持的 версия).
Решение: Убедитесь, что $(lsb_release -cs) возвращает jammy (22.04) или focal (20.04). Для других версий Ubuntu используйте соответствующие кодовые имена из документации Docker.

Пакет docker-compose-plugin не найден

Причина: Репозиторий Docker не добавлен или не обновлён.
Решение:

sudo apt update
# Проверьте наличие файла /etc/apt/sources.list.d/docker.list
cat /etc/apt/sources.list.d/docker.list

Если файл пустой или отсутствует — повторите Шаг 3.

Конфликт с установленным docker-compose (v1) из репозитория Ubuntu

Причина: Параллельно установлены v1 и v2.
Решение: Удалите старую версию:

sudo apt remove -y docker-compose

Оставьте только docker-compose-plugin.


Дополнительные ресурсы

Часто задаваемые вопросы

Чем Docker Compose отличается от обычного Docker?
Почему команда `docker-compose` не работает, а `docker compose` работает?
Как обновить Docker Compose до последней версии?
Можно ли использовать Docker Compose без прав суперпользователя?

Полезное

Подготовка системы и установка зависимостей
Добавление официального GPG-ключа Docker
Добавление репозитория Docker в APT
Установка плагина Docker Compose
Проверка установки