- Добавлен docker-compose в Dockerfile-Ubuntu - Добавлен docker-compose в Dockerfile-CentOS - Docker-compose загружается с официального GitHub репозитория - Образы теперь поддерживают запуск полноценных сред тестирования - Возможность запуска docker-compose внутри контейнеров для тестирования Теперь образы содержат: - Все системные пакеты для разработки - Ansible и связанные инструменты - Docker-compose для оркестрации контейнеров - Полный набор инструментов для тестирования Автор: Сергей Антропов
56 lines
1.7 KiB
Plaintext
56 lines
1.7 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 \
|
||
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/*
|
||
|
||
# Устанавливаем 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-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"] |