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: пошаговая инструкция
- Удаляем старые версии (если вдруг что-то стояло):
sudo apt-get remove docker docker-engine docker.io containerd runc
- Обновляем индексы пакетов:
sudo apt-get update
- Устанавливаем пакеты для https и работы с репозиториями:
sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release
- Добавляем официальный 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
- Добавляем стабильный репозиторий 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
- Обновляем индексы пакетов (ещё раз):
sudo apt-get update
- Ставим Docker Engine и сопутствующие пакеты:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- Проверяем установку:
sudo docker run hello-world
Если видишь сообщение Hello from Docker! — всё окей, ты красавчик.
- Даем своему пользователю право запускать 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. Удачи в контейнеризации!
Ваш отзыв