Установка Docker на Ubuntu 22.04: полное руководство

Docker давно стал стандартом де-факто для упаковки, доставки и запуска приложений. Если ты ещё не пробовал контейнеризацию — самое время начать, ведь она реально упрощает жизнь, ускоряет деплой и минимизирует “работает у меня на машине”. В этом гайде разберём установку Docker на Ubuntu 22.04 (Jammy Jellyfish) — максимально подробно, с нюансами и примерами.

Возможности Docker

  • Изолированные контейнеры — больше никаких конфликтов зависимостей.
  • Быстрый запуск и масштабирование приложений.
  • Лёгкая миграция между серверами и облаками.
  • Огромное комьюнити и тысячи готовых образов на Docker Hub.
  • Интеграция с CI/CD и DevOps-инфраструктурой.

Что потребуется

  • Ubuntu 22.04 LTS (желательно чистая установка, но можно и на рабочей машине).
  • Права sudo (или root-доступ).
  • Интернет — будем тянуть свежие пакеты из официальных репозиториев.
  • Железо: минимум 2 ГБ ОЗУ и 10 ГБ свободного места, но чем больше — тем лучше.

Установка Docker на Ubuntu 22.04: пошаговая инструкция

  1. Удаляем старые версии (если вдруг что-то стояло):
    sudo apt-get remove docker docker-engine docker.io containerd runc
  2. Обновляем индексы пакетов:
    sudo apt-get update
  3. Устанавливаем пакеты для https и работы с репозиториями:
    sudo apt-get install \
        ca-certificates \
        curl \
        gnupg \
        lsb-release
  4. Добавляем официальный GPG-ключ Docker:
    sudo mkdir -p /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  5. Добавляем стабильный репозиторий Docker:
    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
  6. Обновляем индексы пакетов (ещё раз):
    sudo apt-get update
  7. Ставим Docker Engine и сопутствующие пакеты:
    sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  8. Проверяем установку:
    sudo docker run hello-world

    Если видишь сообщение Hello from Docker! — всё окей, ты красавчик.

  9. Даем своему пользователю право запускать Docker без sudo (по желанию):
    sudo usermod -aG docker $USER

    После этого обязательно разлогинься и залогинься (или перезагрузи систему), иначе ничего не сработает.

Официальная документация: https://docs.docker.com/engine/install/ubuntu/

Использование Docker: команды и варианты

  • docker ps — список запущенных контейнеров.
  • docker ps -a — все контейнеры (включая остановленные).
  • docker images — список скачанных образов.
  • docker pull <image> — скачать образ (например, docker pull nginx).
  • docker run -d -p 8080:80 nginx — запустить контейнер nginx в фоне, пробросить порт 8080 наружу.
  • docker exec -it <container_id> bash — попасть внутрь контейнера через bash.
  • docker stop <container_id> — остановить контейнер.
  • docker rm <container_id> — удалить контейнер.
  • docker rmi <image_id> — удалить образ.
  • docker logs <container_id> — посмотреть логи контейнера.
  • docker-compose up — запуск docker-compose (если используешь docker-compose.yaml).
  • docker stats — мониторинг ресурсов контейнеров в реальном времени.

Полный список команд: https://docs.docker.com/engine/reference/commandline/docker/

Ошибки и “как делать не надо”

  • Не ставь Docker через apt install docker.io! — это устаревшая версия, без свежих фич и поддержки. Всегда используй официальный репозиторий.
  • Не запускай контейнеры с --privileged без крайней необходимости. Это огромная дыра в безопасности.
  • Не храни важные данные внутри контейнера. Всё что есть в контейнере — временно. Используй volume’ы.
  • Не забывай про обновления. Docker развивается быстро, баги и уязвимости закрываются регулярно.
  • Не работай в проде под root’ом. Настраивай права, группы, минимум привилегий.

Пример реального использования

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

docker run --name my-postgres \
  -e POSTGRES_PASSWORD=secret \
  -p 5432:5432 \
  -v pgdata:/var/lib/postgresql/data \
  -d postgres:15

Всё, у тебя запущен PostgreSQL 15, данные хранятся в volume pgdata (не пропадут при пересоздании контейнера), порт проброшен наружу. Можно подключаться с любого клиента и работать.

Заключение

Установка Docker на Ubuntu 22.04 — задача на 10-15 минут, если знаешь правильные команды. Не бойся экспериментировать, читай доки, не забывай про безопасность и автоматизацию. Контейнеры — это реально удобно и современно. Если что-то не заводится — гугли ошибку, ищи на Stack Overflow или GitHub Issues. Удачи в контейнеризации!

Хотите прочитать больше про Разное?
Отзывов нет.

Ваш отзыв

Пожалуйста, заполните поля снизу и добавьте отзыв!.
Имя *
E-mail *
Сайт
Сообщение *