Подробный гайд по работе с официальными Docker-образами ALT Linux
Представлен подробный гайд по работе с официальными Docker-образами ALT Linux без использования графических элементов. Руководство актуально на 2026 год и охватывает получение образа, запуск, настройку и рекомендации для промышленной эксплуатации.
1. Источники загрузки официальных образов ALT Linux
| Источник | Адрес | Описание |
|---|---|---|
| Docker Hub (официальный) | https://hub.docker.com/repositories/ | Поддерживается командой разработчиков ALT. Доступны теги: latest, p10, p11, sisyphus |
| ALT Registry | registry.altlinux.org | Внутренний реестр для корпоративных сборок и зеркалирования |
| Исходные Dockerfile | https://www.altlinux.org/ | Публичные задачи сборки на git.altlinux.org |
Рекомендуемые теги:
- altlinux:p11 — текущая стабильная ветка
- altlinux:p10 — ветка с долгосрочной поддержкой (LTS)
- altlinux:latest — указывает на последнюю стабильную ветку на момент публикации
- altlinux:sisyphus — rolling-release, рекомендуется только для тестирования
2. Подготовка: установка Docker
Если Docker не установлен:
Для Debian/Ubuntu:
sudo apt update && sudo apt install -y docker.io docker-compose-plugin
sudo usermod -aG docker $USER
newgrp docker
Для RHEL/Alma/Rocky:
sudo dnf install -y docker-ce docker-compose-plugin
sudo systemctl enable --now docker
Для Windows/macOS:
Установите Docker Desktop с официального сайта: https://www.docker.com/products/docker-desktop
Проверка установки:
docker --version
docker info
3. Получение и запуск образа
Скачивание образа:
docker pull altlinux:p11
Интерактивный запуск:
docker run -it --name alt-test --rm altlinux:p11 /bin/bash
Описание флагов:
- -it — интерактивный режим с терминалом
- --name — присвоение имени контейнеру
- --rm — автоматическое удаление контейнера после завершения
- /bin/bash — команда для запуска оболочки
Проверка окружения внутри контейнера:
cat /etc/os-release
apt-get --version
ip addr
4. Базовая настройка внутри контейнера
Важно:
- контейнеры Docker по умолчанию не используют systemd. Все сервисы запускаются как обычные процессы.
4.1. Обновление пакетов:
apt-get update
apt-get dist-upgrade -y
4.2. Настройка локализации и часового пояса:
apt-get install -y glibc-locales tzdata
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
echo "Europe/Moscow" > /etc/timezone
localedef -i ru_RU -c -f UTF-8 ru_RU.UTF-8
export LANG=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8
4.3. Установка базовых утилит:
apt-get install -y mc sudo curl wget openssh-client ca-certificates
4.4. Создание непривилегированного пользователя:
useradd -m -s /bin/bash denis
passwd denis
echo "denis ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/denis
chmod 0440 /etc/sudoers.d/denis
4.5. Сохранение изменений (при необходимости):
docker commit alt-test my-altlinux:custom
5. Автоматизация через Dockerfile
Пример Dockerfile:
FROM altlinux:p11
RUN apt-get update && \
apt-get dist-upgrade -y && \
apt-get install -y --no-install-recommends \
glibc-locales tzdata mc curl wget sudo ca-certificates && \
rm -rf /var/cache/apt/* && \
localedef -i ru_RU -c -f UTF-8 ru_RU.UTF-8 && \
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime && \
echo "Europe/Moscow" > /etc/timezone
ENV LANG=ru_RU.UTF-8 \
LC_ALL=ru_RU.UTF-8 \
TZ=Europe/Moscow
RUN useradd -m -s /bin/bash denis && \
echo "denis:YourSecurePassword123" | chpasswd && \
echo "denis ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/denis && \
chmod 0440 /etc/sudoers.d/denis
CMD ["/bin/bash"]
Сборка и запуск:
docker build -t my-altlinux:1.0 .
docker run -it --rm --name alt-custom my-altlinux:1.0
6. Рекомендации по безопасности и эксплуатации
- Запуск от root: избегайте в производственной среде. Используйте директиву USER в Dockerfile или флаг --user при запуске.
- Системные сервисы: не используйте systemd. Запускайте необходимые процессы напрямую или через supervisord/s6-overlay.
- Сеть: для изоляции создавайте пользовательские сети: docker network create alt-net
- Хранение данных: используйте volumes или bind mounts для сохранения данных между перезапусками.
- Обновление: регулярно пересобирайте образы после обновления базового образа.
- Сканирование уязвимостей: используйте docker scan или trivy image для анализа образа.
7. Частые проблемы и решения
| Проблема | Решение |
|---|---|
| apt-get: command not found | В минимальных образах APT-RPM должен быть предустановлен. Проверьте тег образа. Используйте apt-get, а не yum/dnf |
| Контейнер сразу завершается | Добавьте флаг -it или укажите команду для выполнения: docker run -it altlinux:p11 /bin/bash |
| Нет интернета в контейнере | Проверьте DNS: docker run --dns 8.8.8.8 altlinux:p11 ping -c 2 altlinux.org |
| Ошибка локалей Cannot set LC_ALL | Установите пакет glibc-locales и выполните localedef, либо задайте ENV LANG=en_US.UTF-8 |
| Требуется systemd | Не рекомендуется. Для совместимости используйте --privileged и entrypoint /sbin/init, либо рассмотрите podman с --systemd=always |
Заключение
- Официальный образ загружается через: docker pull altlinux:p11
- Запуск в интерактивном режиме: docker run -it --rm altlinux:p11 /bin/bash
- Менеджер пакетов: apt-get (APT-RPM)
- Для воспроизводимости окружения используйте Dockerfile
- В производственной среде запускайте контейнеры от непривилегированного пользователя, без systemd