# Сборка контейнера с systemd для удобного тестирования ролей Ansible через Molecule # Используем официальный образ Fedora FROM quay.io/fedora/python-312 USER root # Обновляем пакеты и устанавливаем systemd и необходимые пакеты RUN dnf update -y && \ dnf install -y --nodocs --setopt=install_weak_deps=False \ systemd rsync \ git \ openssh \ gcc \ libffi-devel \ openssl-devel \ make \ sudo \ openssh-clients \ less \ ca-certificates \ curl \ gnupg2 \ nano \ sshpass \ redhat-lsb-core \ && dnf clean all && \ rm -rf /var/cache/dnf /tmp/* /var/tmp/* # Устанавливаем 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 # Устанавливаем Python пакеты для Ansible RUN pip install --upgrade pip && \ pip install \ ansible \ ansible-vault \ molecule \ molecule-docker \ ansible-lint \ yamllint \ docker \ && rm -rf /root/.cache/pip # Настраиваем окружение для systemd ENV container=docker STOPSIGNAL SIGRTMIN+3 # Создаем необходимые директории для systemd VOLUME [ "/sys/fs/cgroup" ] # Запускаем systemd при старте контейнера CMD ["/sbin/init"]