Files
DevOpsLab/dockerfiles/ubuntu/Dockerfile
Сергей Антропов ef384475c3 feat: обновление Dockerfiles Ubuntu/Debian и добавление help для build-image
- Обновлены 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
2025-10-25 16:30:57 +03:00

61 lines
1.9 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Ubuntu 22.04 с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
FROM ubuntu:22.04
# Обновляем систему
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 вручную для Ubuntu
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/ubuntu/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/ubuntu jammy 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"]