Подробный гайд: Полное руководство по установке Docker и Docker Compose в ALT Linux
ALT Linux (Альт Линукс) — это семейство российских дистрибутивов, которые имеют свои особенности (собственный пакетный менеджер apt-get на основе RPM, специфичные настройки безопасности и системы инициализации).
Ниже представлен подробный и актуальный гайд по установке, настройке и использованию Docker в среде ALT Linux (подходит для версий Рабочая станция, Сервер, Образование, а также веток p10, p11 и Sisyphus).
Шаг 1: Подготовка системы и установка
В отличие от Ubuntu/Debian, в ALT Linux для получения прав суперпользователя по умолчанию чаще используется su -, а не sudo (хотя sudo тоже можно установить). Все команды администрирования будем выполнять от имени root.
1. Откройте терминал.
- Переключитесь на пользователя root:
su -
- Обновите списки пакетов:
apt-get update
- Установите демон Docker и утилиту Docker Compose:
apt-get install docker-engine docker-compose
Примечание:
В репозиториях ALT пакет движка называется именно docker-engine (в некоторых старых ветках может называться просто docker).
Шаг 2: Запуск и настройка автозагрузки
Docker работает как системная служба (демон) под управлением systemd.
- Запустите службу Docker:
systemctl start docker
- Добавьте Docker в автозагрузку, чтобы он запускался при включении компьютера/сервера:
systemctl enable docker
- Проверьте статус службы:
systemctl status docker
(Статус должен быть active (running)).
Шаг 3: Настройка прав пользователя (чтобы не вводить пароль)
По умолчанию для управления Docker требуются права root. Чтобы ваш обычный пользователь мог управлять контейнерами, его нужно добавить в группу docker.
1. Выйдите из режима root (команда exit), если вы в нем находитесь.
- Выполните команду (замените
имя_пользователяна ваш логин в системе):
su - -c "usermod -aG docker имя_пользователя"
- Важно:
Чтобы изменения вступили в силу, необходимо выйти из системы и зайти заново (или перезагрузить компьютер).
Быстрый временный вариант без перезахода: выполнить команду
newgrp dockerв текущем терминале.
Шаг 4: Проверка работоспособности
После перезахода в систему проверьте, работает ли Docker:
- Выведите информацию о системе Docker:
docker info
- Запустите тестовый контейнер:
docker run hello-world
Если в ответ вы видите текст "Hello from Docker!", значит установка прошла успешно.
Шаг 5: Базовые команды Docker (Шпаргалка)
- Поиск образа:
docker search nginx - Скачивание образа:
docker pull nginx:latest - Запуск контейнера:
docker run -d -p 8080:80 --name my-web nginx
(Флаги: -d — в фоновом режиме, -p 8080:80 — проброс порта 80 контейнера на порт 8080 хоста, --name — имя).
- Список запущенных контейнеров:
docker ps - Список всех контейнеров (вкл. остановленные):
docker ps -a - Остановка контейнера:
docker stop my-web - Запуск остановленного контейнера:
docker start my-web - Удаление контейнера:
docker rm my-web - Просмотр логов контейнера:
docker logs my-web - Подключение к консоли внутри контейнера:
docker exec -it my-web /bin/bash(или/bin/sh, если bash нет).
Шаг 6: Использование Docker Compose в ALT Linux
Docker Compose позволяет запускать многоконтейнерные приложения через один YAML-файл.
- Создайте директорию для проекта:
mkdir ~/my-project && cd ~/my-project
- Создайте файл
docker-compose.yml:
nano docker-compose.yml
- Пример простого веб-сервера Nginx:
version: '3.8'
services:
web:
image: nginx:alpine
ports:
- "8080:80"
volumes:
- ./html:/usr/share/nginx/html
restart: always
- Запустите проект:
docker-compose up -d
- Остановите и удалите проект:
docker-compose down
2. Сетевой экран (Firewall)
ALT Linux может использовать iptables или nftables. Docker при запуске автоматически создает правила в iptables для проброса портов.
* Если вы используете сторонний фаервол (например, firewalld или строгие правила iptables), убедитесь, что они не блокируют сеть 172.17.0.0/16 (стандартная сеть docker0) и цепочку DOCKER.
* Если порты не открываются снаружи, проверьте, не блокирует ли их встроенный фаервол Альта.
3. Зеркала репозиториев (Registry Mirrors)
В России иногда бывают проблемы со скоростью доступа к Docker Hub. Вы можете добавить зеркала (например, от Яндекса или Сбера).
Отредактируйте файл /etc/docker/daemon.json (если его нет — создайте):
{
"registry-mirrors": [
"https://mirror.gcr.io",
"https://docker.mirrors.ustc.edu.cn"
]
}
После этого: systemctl restart docker.
Траблшутинг (Частые проблемы)
| Проблема | Причина и Решение |
|---|---|
Permission denied при вводе docker ps |
Вы не вышли из системы после добавления в группу docker. Сделайте logout -> login или выполните newgrp docker. |
Cannot connect to the Docker daemon |
Служба не запущена. Выполните sudo systemctl start docker или проверьте статус через systemctl status docker. |
| Контейнер запускается, но нет интернета | Проблема с пробросом портов или сетью. Проверьте, включен ли ip_forward (sysctl net.ipv4.ip_forward должен выдавать 1). |
| Ошибка при сборке: не хватает места | Docker хранит образы в /var/lib/docker. Если раздел / мал, перенесите Docker на другой диск, указав "data-root": "/new/path/docker" в /etc/docker/daemon.json. |
Этого гайда достаточно для 95% задач при работе с Docker на системах Альт Линукс.
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.