- Исправлена ошибка ansible-vault в Dockerfile-Ubuntu (установка версии <4.0.0) - Убраны -latest из тегов ubuntu и centos в Makefile - Обновлены теги в molecule.yml: inecs/ansible:centos и inecs/ansible:ubuntu - Пересобраны все образы с новыми тегами и исправленными зависимостями - Все образы успешно опубликованы в Docker Hub с поддержкой amd64 и arm64
62 lines
1.8 KiB
Plaintext
62 lines
1.8 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 --upgrade \
|
||
requests \
|
||
PyYAML \
|
||
ansible-core \
|
||
&& pip install \
|
||
ansible \
|
||
"ansible-vault<4.0.0" \
|
||
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"] |