Установка Docker и Docker Compose на Linux

Зачем это нужно
Docker — это платформа для запуска приложений в контейнерах. Docker Compose упрощает описание и запуск многоконтейнерных приложений в одном YAML-файле. Вместе они позволяют быстро развернуть сервисы с их зависимостями.
Подготовка
- Обновите пакеты вашей системы перед началом:
# Debian/Ubuntu
sudo apt update && sudo apt upgrade -y
# Fedora
sudo dnf upgrade --refresh
# Arch
sudo pacman -SyuВажно: используйте sudo или запустите команды от имени root.
Установка Docker
Docker нужно установить перед Docker Compose. Ниже — команды для популярных дистрибутивов.
Debian и Ubuntu
sudo apt install docker.ioFedora
sudo dnf install dockerArch Linux
sudo pacman -S dockerПосле установки запустите и включите сервис systemd:
sudo systemctl start docker
sudo systemctl enable dockerДобавьте своего пользователя в группу docker, чтобы запускать контейнеры без sudo (замените username на ваш логин):
sudo usermod -aG docker usernameВажно: членство в группе вступит в силу после выхода из сеанса и повторного входа или перезагрузки.
Примечание: в некоторых дистрибутивах пакет docker.io — это стабильный upstream-пакет. Для других может быть рекомендована установка официального пакета с get.docker.com, но здесь описан способ через менеджер пакетов дистрибуции.
Установка Docker Compose
Docker Compose часто доступен как отдельный пакет в репозиториях.
Fedora
sudo dnf install docker-composeDebian / Ubuntu
sudo apt install docker-composeArch Linux
sudo pacman -S docker-composeПроверьте версию Docker Compose:
docker-compose --versionПроверка установки
- Проверьте статус демона Docker:
sudo systemctl status docker- Запустите тестовый контейнер:
docker run --rm hello-worldЕсли контейнер успешно запустился и вывел приветственное сообщение, Docker работает корректно.
Быстрый пример: запуск проекта с Docker Compose
Создайте файл docker-compose.yml в каталоге проекта и опишите сервисы. Затем запустите:
docker-compose up -dОстановить и удалить ресурсы:
docker-compose downЧастые проблемы и откат
- Проблема: “permission denied” при запуске docker без sudo — проверьте, добавлен ли пользователь в группу docker и выполнён ли повторный вход.
- Проблема: service не запускается — смотрите логи systemd:
sudo journalctl -u docker --no-pager. - Откат: удалите пакеты через менеджер пакетов вашей системы (apt/dnf/pacman) и, при необходимости, удалите содержимое /var/lib/docker.
Рекомендации безопасности
- Не добавляйте в группу docker пользователей, которым вы не доверяете — членство даёт привилегии, схожие с root в контексте запуска контейнеров.
- Регулярно обновляйте образы и пакеты.
Чек‑лист по ролям
- Администратор:
- Установить пакеты через пакетный менеджер.
- Включить и проверить systemd-сервис.
- Настроить бэкапы /var/lib/docker при необходимости.
- Разработчик:
- Проверить docker-compose.yml.
- Запустить
docker-compose up -dи просмотреть логи (docker-compose logs).
- Оператор:
- Настроить мониторинг контейнеров и диск usage.
- Периодически очищать неиспользуемые образы:
docker system prune.
Критерии приёмки
- Docker установлен и демон запущен:
sudo systemctl status dockerпоказывает active (running). - Тестовый контейнер
hello-worldзапускается успешно. - Docker Compose отвечает:
docker-compose --versionвозвращает номер версии. - Пользователь может запускать docker без sudo после перезагрузки/повторного входа.
Глоссарий (1‑строчный)
- Docker: платформа для контейнеризации приложений.
- Docker Compose: инструмент для описания и запуска многоконтейнерных приложений.
- Демон Docker (dockerd): фоновый сервис, управляющий контейнерами.
Итог
Вы установили Docker и Docker Compose через менеджер пакетов вашей дистрибуции. После перезагрузки или повторного входа в систему вы сможете запускать контейнеры без sudo. Используйте docker-compose для управления многоконтейнерными приложениями и следите за безопасностью и обновлениями.
Важно: для специфичных требований (например, production-кластеров, SELinux, rootless mode) изучите официальную документацию Docker и рекомендации по безопасности.
Похожие материалы
Тёмный режим на Kindle — как включить
Steam Achievement Manager — как скачать и использовать
Сохраняйте посты в Facebook — читать позже
Настройка домашней страницы в Bluesky
Безопасная работа из дома — руководство