Полное руководство по установке Docker Engine

Ubuntu 20.04 / 22.04 / 24.04

📦 Что такое Docker?

Docker — это платформа для разработки, доставки и запуска приложений в изолированных контейнерах. Контейнеры легковесны, содержат всё необходимое для работы приложения и запускаются одинаково на любой системе.

Этот гайд проведёт вас через установку Docker Engine на Ubuntu с использованием официального репозитория Docker.

⚠️ Важно: Все команды выполняются в терминале. Если вы используете сервер без графического интерфейса, вы уже в терминале. На десктопной Ubuntu откройте Terminal (Ctrl+Alt+T).

1 Обновление системы

Перед установкой убедитесь, что ваша система обновлена. Это обеспечит совместимость и безопасность.

sudo apt update && sudo apt upgrade -y

После обновления рекомендуется перезагрузить систему, если были обновлены компоненты ядра:

sudo reboot

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

Установите пакеты, позволяющие apt использовать репозитории по HTTPS:

sudo apt install -y ca-certificates curl gnupg lsb-release
💡 Краткое пояснение: ca-certificates — корневые сертификаты, curl — загрузка файлов, gnupg — проверка подписей, lsb-release — определение версии Ubuntu.

3 Добавление GPG-ключа Docker

Создайте директорию для хранения ключей и добавьте официальный GPG-ключ 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

4 Добавление репозитория Docker

Добавьте официальный стабильный репозиторий Docker в список источников APT:

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

Затем обновите индекс пакетов:

sudo apt update

5 Установка Docker Engine

Установите последнюю версию Docker Engine, CLI, containerd и плагины:

sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
✅ Docker Engine установлен! Далее проверим, что всё работает корректно.

6 Запуск и автозагрузка Docker

Запустите службу Docker и добавьте её в автозагрузку, чтобы контейнеры стартовали при загрузке системы:

sudo systemctl start docker
sudo systemctl enable docker

Проверьте статус:

sudo systemctl status docker

В выводе должно быть active (running) — зелёный сигнал, что Docker работает.

7 Docker без sudo (настройка прав)

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

sudo usermod -aG docker $USER
🔄 Важно: Чтобы изменения вступили в силу, нужно выйти из системы и зайти снова, либо выполнить newgrp docker в текущей сессии терминала.

Альтернативно, можно сразу активировать группу без перезахода:

newgrp docker

8 Проверка установки

Запустите тестовый контейнер hello-world, чтобы убедиться, что Docker работает правильно:

docker run hello-world

Если вы увидели приветственное сообщение от Docker — установка прошла успешно! 🎉

Также можете проверить версии:

docker --version
docker compose version
🐳 Поздравляем! Docker Engine и Docker Compose (встроенный плагин) готовы к работе. Теперь вы можете запускать любые контейнеры.

🛠️ Полезные команды Docker

# Список запущенных контейнеров
docker ps

# Список всех контейнеров (включая остановленные)
docker ps -a

# Список образов
docker images

# Остановить контейнер
docker stop <имя_или_id>

# Удалить контейнер
docker rm <имя_или_id>

# Удалить образ
docker rmi <имя_или_id>

# Запустить контейнер в фоновом режиме
docker run -d <образ>

# Просмотр логов контейнера
docker logs <имя_или_id>