Гид по технологиям

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

3 min read Linux Обновлено 01 Dec 2025
Установка Docker и Docker Compose на Linux
Установка Docker и Docker Compose на Linux

вид сверху на причал, окружённый небольшими лодками

Зачем это нужно

Docker — это платформа для запуска приложений в контейнерах. Docker Compose упрощает описание и запуск многоконтейнерных приложений в одном YAML-файле. Вместе они позволяют быстро развернуть сервисы с их зависимостями.

Подготовка

  1. Обновите пакеты вашей системы перед началом:
# 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.io

Fedora

sudo dnf install docker

Arch 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-compose

Debian / Ubuntu

sudo apt install docker-compose

Arch Linux

sudo pacman -S docker-compose

Проверьте версию Docker Compose:

docker-compose --version

Ubuntu, запущенная в контейнере Docker

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

  • Проверьте статус демона 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 и рекомендации по безопасности.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Тёмный режим на Kindle — как включить
Гаджеты

Тёмный режим на Kindle — как включить

Steam Achievement Manager — как скачать и использовать
Gaming

Steam Achievement Manager — как скачать и использовать

Сохраняйте посты в Facebook — читать позже
Социальные сети

Сохраняйте посты в Facebook — читать позже

Настройка домашней страницы в Bluesky
Руководство

Настройка домашней страницы в Bluesky

Безопасная работа из дома — руководство
Безопасность

Безопасная работа из дома — руководство

Отключить веб‑камеру и микрофон на Ubuntu
Безопасность

Отключить веб‑камеру и микрофон на Ubuntu