- Обновлены Dockerfiles для Ubuntu и Debian по аналогии с astra-linux - Упрощена структура: убраны лишние компоненты (kubectl, helm, kind, ansible) - Установка Docker из официального репозитория вместо пакетов дистрибутива - Добавлен systemd-sysv для корректной работы systemd - Пользователь ansible создается и используется как основной - CMD изменен на /sbin/init для запуска systemd - Добавлена информация о make docker build-image в help - Обновлен общий help (make help) с кратким описанием команды - Обновлен docker help (make docker) с подробной информацией и примерами - Показывается список доступных образов и поддерживаемых платформ - Исправлена установка ansible-lint в ansible-controller Dockerfile - Команда lint теперь использует файл .ansible-lint через volume
61 lines
1.9 KiB
Docker
61 lines
1.9 KiB
Docker
# Debian Bookworm с systemd
|
||
# Автор: Сергей Антропов
|
||
# Сайт: https://devops.org.ru
|
||
|
||
FROM debian:bookworm
|
||
|
||
# Обновляем систему
|
||
RUN apt-get update && apt-get dist-upgrade -y
|
||
|
||
# Устанавливаем systemd и необходимые пакеты
|
||
RUN apt-get install -y \
|
||
systemd \
|
||
systemd-sysv \
|
||
dbus \
|
||
curl \
|
||
wget \
|
||
git \
|
||
vim \
|
||
nano \
|
||
htop \
|
||
tree \
|
||
jq \
|
||
python3 \
|
||
python3-pip \
|
||
&& apt-get clean
|
||
|
||
# Устанавливаем yq
|
||
RUN wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 \
|
||
&& chmod +x /usr/local/bin/yq
|
||
|
||
# Устанавливаем Docker вручную для Debian
|
||
RUN apt-get update && apt-get install -y \
|
||
ca-certificates \
|
||
curl \
|
||
gnupg \
|
||
lsb-release \
|
||
&& mkdir -p /usr/share/keyrings \
|
||
&& curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg \
|
||
&& echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bookworm stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null \
|
||
&& apt-get update \
|
||
&& apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin \
|
||
&& apt-get clean
|
||
|
||
# Устанавливаем 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
|
||
RUN systemctl set-default multi-user.target
|
||
|
||
# Создаем пользователя для Ansible
|
||
RUN useradd -m -s /bin/bash ansible \
|
||
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
|
||
|
||
# Переключаемся на пользователя ansible
|
||
USER ansible
|
||
WORKDIR /home/ansible
|
||
|
||
# Команда по умолчанию
|
||
CMD ["/sbin/init"]
|