Подробный гайд по работе с официальными Docker-образами ALT Linux

Пошаговое руководство по установке и настройке официального Docker-образа ALT Linux. Скачивание, базовая конфигурация, безопасность и оптимизация.

2026.04.07                  


Подробный гайд по работе с официальными Docker-образами ALT LinuxПодробный гайд по работе с официальными 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

Заключение

  1. Официальный образ загружается через: docker pull altlinux:p11
  2. Запуск в интерактивном режиме: docker run -it --rm altlinux:p11 /bin/bash
  3. Менеджер пакетов: apt-get (APT-RPM)
  4. Для воспроизводимости окружения используйте Dockerfile
  5. В производственной среде запускайте контейнеры от непривилегированного пользователя, без systemd