# Astra Linux совместимый образ для ARM64 # Автор: Сергей Антропов # Сайт: https://devops.org.ru # Базируется на Debian для совместимости с ARM64 # ВАЖНО: Это эмуляция Astra Linux на Debian для ARM64 FROM debian:bookworm-slim # Устанавливаем переменные окружения ENV DEBIAN_FRONTEND=noninteractive ENV LANG=ru_RU.UTF-8 ENV LANGUAGE=ru_RU:ru ENV LC_ALL=ru_RU.UTF-8 # Обновляем систему RUN apt-get update && apt-get dist-upgrade -y # Устанавливаем локали RUN apt-get install -y locales && \ sed -i 's/# ru_RU.UTF-8 UTF-8/ru_RU.UTF-8 UTF-8/' /etc/locale.gen && \ locale-gen # Устанавливаем systemd и необходимые пакеты RUN apt-get install -y \ systemd \ systemd-sysv \ dbus \ curl \ wget \ nano \ python3 \ python3-pip \ sudo \ ca-certificates \ gnupg \ lsb-release \ && apt-get clean # Устанавливаем yq (автоопределение архитектуры) RUN ARCH=$(dpkg --print-architecture | sed 's/amd64/amd64/; s/arm64/arm64/; s/aarch64/arm64/') && \ wget -qO /usr/local/bin/yq "https://github.com/mikefarah/yq/releases/latest/download/yq_linux_${ARCH}" && \ chmod +x /usr/local/bin/yq # Устанавливаем Docker для ARM64 RUN ARCH=$(dpkg --print-architecture) && \ apt-get update && apt-get install -y \ ca-certificates \ curl \ gnupg \ lsb-release && \ mkdir -p /usr/share/keyrings && \ curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \ echo "deb [arch=${ARCH} signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bookworm stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null && \ apt-get update && \ apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin && \ apt-get clean # Устанавливаем Docker Compose RUN curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose \ && chmod +x /usr/local/bin/docker-compose # Создаем файлы конфигурации для эмуляции Astra Linux RUN echo "astra-linux" > /etc/os-release && \ echo "VERSION_ID=\"1.7.6.uu2\"" >> /etc/os-release && \ echo "PRETTY_NAME=\"Astra Linux 1.7.6.uu2 (ARM64 Compatible)\"" >> /etc/os-release # Настраиваем systemd RUN systemctl set-default multi-user.target # Настраиваем sudoers для root и пользователей RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \ echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test # Создаем пользователя для Ansible RUN useradd -m -s /bin/bash ansible \ && echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers # Команда по умолчанию (система запускается от root для systemd) CMD ["/sbin/init"]