- Создан совместимый образ Astra Linux для ARM64 на базе Debian - Добавлена команда make docker build-astra-arm64 для сборки ARM64 версии - Обновлена документация по Docker образам с информацией о ARM64 поддержке - Создан новый файл docs/arm64-support.md с подробным описанием ARM64 поддержки - Обновлен README.md с информацией о multi-arch поддержке - Добавлена информация о ALT Linux P9/P10 с поддержкой ARM64 Автор: Сергей Антропов Сайт: https://devops.org.ru
		
			
				
	
	
		
			80 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
| # 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"]
 |