- Добавлены системные пакеты в Dockerfile-Ubuntu: - git, ssh, gcc, libffi-dev, libssl-dev, make, sudo - sshpass, openssh-client, nano, less, ca-certificates - curl, gnupg, lsb-release - Добавлены системные пакеты в Dockerfile-CentOS: - git, openssh, gcc, libffi-devel, openssl-devel, make, sudo - sshpass, openssh-clients, nano, less, ca-certificates - curl, gnupg2, redhat-lsb-core - Добавлены Python пакеты для Ansible: - ansible, ansible-vault, molecule, molecule-docker - ansible-lint, yamllint, docker - Образы теперь содержат все необходимые инструменты для тестирования Ansible ролей Автор: Сергей Антропов
37 lines
1.2 KiB
Plaintext
37 lines
1.2 KiB
Plaintext
# Сборка контейнера с systemd для удобного тестирования ролей Ansible через Molecule
|
||
|
||
# Используем готовый образ с Ansible
|
||
FROM geerlingguy/docker-ubuntu2204-ansible:latest
|
||
|
||
# Устанавливаем переменные окружения
|
||
ENV DEBIAN_FRONTEND=noninteractive
|
||
ENV container=docker
|
||
|
||
# Устанавливаем дополнительные пакеты для тестирования
|
||
RUN apt-get update && \
|
||
apt-get install -y --no-install-recommends \
|
||
systemd \
|
||
systemd-sysv \
|
||
rsync \
|
||
&& rm -rf /var/lib/apt/lists/*
|
||
|
||
# Устанавливаем дополнительные Python пакеты для Ansible
|
||
RUN pip install --upgrade pip && \
|
||
pip install \
|
||
ansible-vault \
|
||
molecule \
|
||
molecule-docker \
|
||
ansible-lint \
|
||
yamllint \
|
||
docker \
|
||
&& rm -rf /root/.cache/pip
|
||
|
||
# Указываем, что контейнер использует systemd в качестве init-системы
|
||
ENV container=docker
|
||
STOPSIGNAL SIGRTMIN+3
|
||
|
||
# Создаем необходимые директории для systemd
|
||
VOLUME [ "/sys/fs/cgroup" ]
|
||
|
||
# Запускаем systemd при старте контейнера
|
||
CMD ["/sbin/init"] |