# Rocky Linux с systemd # Автор: Сергей Антропов # Сайт: https://devops.org.ru FROM rockylinux:9 # Обновляем систему RUN dnf update -y && dnf upgrade -y # Устанавливаем systemd и необходимые пакеты RUN dnf install -y --allowerasing \ systemd \ systemd-sysv \ dbus \ curl \ wget \ nano \ python3 \ python3-pip \ python3-devel \ sudo \ && dnf clean all # Устанавливаем более новую версию Python через pip если нужно RUN python3 -m pip install --upgrade pip # Устанавливаем yq (автоматически определяем архитектуру) # RUN ARCH=$(uname -m) && \ # if [ "$ARCH" = "x86_64" ]; then ARCH="amd64"; elif [ "$ARCH" = "aarch64" ]; then ARCH="arm64"; fi && \ # wget -qO /usr/local/bin/yq "https://github.com/mikefarah/yq/releases/latest/download/yq_linux_${ARCH}" && \ # chmod +x /usr/local/bin/yq # Устанавливаем Docker # RUN dnf install -y dnf-plugins-core \ # && dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo \ # && dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # Устанавливаем 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 # Настраиваем 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"]