- Оптимизирован Dockerfile-CentOS с флагами --nodocs и --setopt=install_weak_deps=False - Исправлены конфликты версий в Dockerfile-Ubuntu - Добавлена поддержка ARM64 архитектуры для всех образов - Все образы пересобраны и опубликованы в Docker Hub - Образы: inecs/ansible:latest, inecs/ansible:centos-latest, inecs/ansible:ubuntu-latest
58 lines
1.7 KiB
Plaintext
58 lines
1.7 KiB
Plaintext
# Сборка контейнера с systemd для удобного тестирования ролей Ansible через Molecule
|
||
|
||
# Используем готовый образ с Ansible (более старый, но стабильный)
|
||
FROM geerlingguy/docker-ubuntu2004-ansible:latest
|
||
|
||
# Устанавливаем переменные окружения
|
||
ENV DEBIAN_FRONTEND=noninteractive
|
||
ENV container=docker
|
||
|
||
# Устанавливаем дополнительные пакеты для тестирования
|
||
RUN apt-get update && \
|
||
apt-get install -y --no-install-recommends \
|
||
systemd \
|
||
systemd-sysv \
|
||
rsync \
|
||
git \
|
||
ssh \
|
||
gcc \
|
||
libffi-dev \
|
||
libssl-dev \
|
||
make \
|
||
sudo \
|
||
sshpass \
|
||
openssh-client \
|
||
nano \
|
||
less \
|
||
ca-certificates \
|
||
curl \
|
||
gnupg \
|
||
lsb-release \
|
||
&& rm -rf /var/lib/apt/lists/*
|
||
|
||
# Устанавливаем Python пакеты для Ansible
|
||
RUN pip install --upgrade pip && \
|
||
pip install \
|
||
ansible \
|
||
ansible-vault \
|
||
molecule \
|
||
molecule-docker \
|
||
ansible-lint \
|
||
yamllint \
|
||
docker \
|
||
&& rm -rf /root/.cache/pip
|
||
|
||
# Устанавливаем 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 в качестве init-системы
|
||
ENV container=docker
|
||
STOPSIGNAL SIGRTMIN+3
|
||
|
||
# Создаем необходимые директории для systemd
|
||
VOLUME [ "/sys/fs/cgroup" ]
|
||
|
||
# Запускаем systemd при старте контейнера
|
||
CMD ["/sbin/init"] |