Ниже — быстрый, надёжный и лаконичный способ поставить Docker Engine и Docker Compose v2 (как плагин docker compose) на Ubuntu 24.04. Команды также подходят для 20.04/22.04 (и Debian 12 — с заменой репозитория на debian).
(Опционально) Удалите старые пакеты Docker
Если раньше ставили docker.io/старые версии:
sudo apt-get remove -y docker.io docker-doc docker-compose docker-compose-v2 podman-docker \
containerd runc || true
Подготовка
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
Репозиторий Docker (официальный)
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
# Для noble (Ubuntu 24.04) переменная подставится автоматически
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(. /etc/os-release; echo "$UBUNTU_CODENAME") stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Установка Docker + Compose v2
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Автозапуск и права
sudo systemctl enable --now docker
sudo usermod -aG docker $USER
Обновить группу в текущей сессии
(иначе потребуется перелогиниться)
newgrp docker
Проверка
docker --version
docker compose version
![]()
Ручная установка (standalone binary)
Создайте директорию для плагинов:
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
Скачайте и установите (для x86_64; замените версию на актуальную, например, v2.40.1):
curl -SL https://github.com/docker/compose/releases/download/v2.40.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
Сделайте исполняемым:
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
Проверьте:
docker compose version
Для системной установки замените $HOME/.docker на /usr/local/lib/docker/cli-plugins и используйте sudo.
Совместимость
На Ubuntu 24.04 нет известных проблем с Docker Compose и Engine. Используйте docker compose (с пробелом) для команд.
Если возникнут ошибки, проверьте логи: sudo journalctl -u docker. Для полного удаления Docker см. выше Как удалить Docker
Полезно
Обновление Docker/Compose
sudo apt-get update && sudo apt-get install -y \
docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Удаление (если потребуется)
sudo apt-get purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo rm -rf /var/lib/docker /var/lib/containerd
Запуск ваших компоуз-проектов
docker compose up -d

Проверяем запущенные контейнеры:
docker ps

Короткий раздел «Если что-то не работает»
permission deniedприdocker ps— вы забыли перезайти в сессию/обновить группы:newgrp dockerСервис не стартует:
systemctl status docker --no-pager journalctl -u docker -n 100 --no-pagerНужна старая команда
docker-compose(не обязательно):# Создаёт удобный псевдоним на плагин v2 if [ -f /usr/libexec/docker/cli-plugins/docker-compose ]; then sudo ln -sf /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose elif [ -f /usr/lib/docker/cli-plugins/docker-compose ]; then sudo ln -sf /usr/lib/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose fi docker-compose version
Заключение
Вы установили актуальный Docker Engine и Docker Compose v2 на Ubuntu 24.04, подключили официальный репозиторий и включили автозапуск демона. Теперь можно запускать инфраструктуру одной командой docker compose up -d. Рекомендуется:
хранить
docker-compose.ymlи.envв Git-репозитории;периодически обновлять Docker через APT (см. раздел «Обновление»);
использовать
docker context, если управляете удалёнными хостами;включить журналирование и ротацию логов (
json-file/local) в ваших сервисах;для production — рассмотреть Rootless Docker, ограничение ресурсов и мониторинг (Prometheus + cAdvisor).
Готово: базовая платформа для контейнеризации развернута, можно переходить к деплою приложений.
