first commit

This commit is contained in:
Sergey Antropoff
2026-04-30 08:59:31 +03:00
commit 1d2301fb09
95 changed files with 19362 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
# AlmaLinux с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
# https://hub.docker.com/_/almalinux
FROM almalinux:8
# Обновляем систему
RUN dnf update -y && dnf upgrade -y
# Устанавливаем systemd и необходимые пакеты
RUN dnf install -y \
systemd \
systemd-sysv \
dbus \
curl \
wget \
nano \
python39 \
python39-pip \
sudo \
&& dnf clean all
# Создаем symlink для python3 -> python3.9
RUN ln -sf /usr/bin/python3.9 /usr/bin/python3
# Устанавливаем yq
# RUN wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_arm64 \
# && chmod +x /usr/local/bin/yq
# Устанавливаем Docker
# RUN dnf install -y dnf-plugins-core \
# && dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo \
# && dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Устанавливаем 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
# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Команда по умолчанию (система запускается от root для systemd)
CMD ["/sbin/init"]

View File

@@ -0,0 +1,53 @@
# ALT Linux 10 (Platform 10) с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
# https://hub.docker.com/_/alt/tags
# Тег: inecs/ansible-lab:alt10-latest
FROM alt:p10
# Обновляем систему
RUN apt-get update && apt-get dist-upgrade -y
# Устанавливаем systemd и необходимые пакеты
RUN apt-get install -y \
systemd \
dbus \
curl \
wget \
nano \
python3 \
sudo \
&& apt-get clean
# Устанавливаем pip для Python 3.11
RUN curl -sS https://bootstrap.pypa.io/pip/get-pip.py | python3
# Устанавливаем yq
# RUN wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_arm64 \
# && chmod +x /usr/local/bin/yq
# Устанавливаем Docker вручную для ALT Linux
# RUN apt-get update && apt-get install -y \
# ca-certificates \
# curl \
# gnupg \
# && 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
# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Команда по умолчанию (система запускается от root для systemd)
CMD ["/sbin/init"]

View File

@@ -0,0 +1,53 @@
# ALT Linux 9 (Platform 9) с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
# https://hub.docker.com/_/alt/tags
# Тег: inecs/ansible-lab:alt9-latest
FROM alt:p9
# Обновляем систему
RUN apt-get update && apt-get dist-upgrade -y
# Устанавливаем systemd и необходимые пакеты
RUN apt-get install -y \
systemd \
dbus \
curl \
wget \
nano \
python3 \
sudo \
&& apt-get clean
# Устанавливаем pip для Python 3.7
RUN curl -sS https://bootstrap.pypa.io/pip/3.7/get-pip.py | python3
# Устанавливаем yq
# RUN wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_arm64 \
# && chmod +x /usr/local/bin/yq
# Устанавливаем Docker вручную для ALT Linux
# RUN apt-get update && apt-get install -y \
# ca-certificates \
# curl \
# gnupg \
# && 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
# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Команда по умолчанию (система запускается от root для systemd)
CMD ["/sbin/init"]

View File

@@ -0,0 +1,70 @@
# Astra Linux с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
# https://registry.astralinux.ru/browse/library/
# ВАЖНО: Базовый образ поддерживает только linux/amd64
# Для сборки используйте: docker buildx build --platform linux/amd64
FROM registry.astralinux.ru/library/astra/ubi17:1.7.6.uu2
# Обновляем систему
RUN apt-get update && apt-get dist-upgrade -y
# Устанавливаем systemd и необходимые пакеты
RUN apt-get install -y \
systemd \
systemd-sysv \
dbus \
curl \
wget \
nano \
python3 \
python3-pip \
sudo \
&& apt-get clean
# Устанавливаем yq (автоопределение архитектуры)
# RUN ARCH=$(dpkg --print-architecture | sed 's/amd64/amd64/; s/arm64/arm64/; s/aarch64/arm64/') && \
# wget -qO /usr/local/bin/yq "https://github.com/mikefarah/yq/releases/latest/download/yq_linux_${ARCH}" && \
# chmod +x /usr/local/bin/yq
# Устанавливаем Docker вручную для AstraLinux (автоопределение архитектуры)
# RUN ARCH=$(dpkg --print-architecture) && \
# 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=${ARCH} signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian buster 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
# Отключаем Parsec для работы в контейнере
RUN if [ -f /etc/parsec/parsec.conf ]; then \
sed -i 's/enabled=1/enabled=0/' /etc/parsec/parsec.conf || true; \
fi && \
if [ -f /lib/modules/$(uname -r)/parsec.ko ]; then \
mv /lib/modules/$(uname -r)/parsec.ko /lib/modules/$(uname -r)/parsec.ko.disabled || true; \
fi && \
systemctl disable parsec 2>/dev/null || true
# Настраиваем systemd
RUN systemctl set-default multi-user.target
# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Команда по умолчанию (система запускается от root для systemd)
CMD ["/sbin/init"]

View File

@@ -0,0 +1,79 @@
# Astra Linux совместимый образ для ARM64
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
# Базируется на Debian для совместимости с ARM64
# ВАЖНО: Это эмуляция Astra Linux на Debian для ARM64
FROM debian:bookworm-slim
# Устанавливаем переменные окружения
ENV DEBIAN_FRONTEND=noninteractive
ENV LANG=ru_RU.UTF-8
ENV LANGUAGE=ru_RU:ru
ENV LC_ALL=ru_RU.UTF-8
# Обновляем систему
RUN apt-get update && apt-get dist-upgrade -y
# Устанавливаем локали
RUN apt-get install -y locales && \
sed -i 's/# ru_RU.UTF-8 UTF-8/ru_RU.UTF-8 UTF-8/' /etc/locale.gen && \
locale-gen
# Устанавливаем systemd и необходимые пакеты
RUN apt-get install -y \
systemd \
systemd-sysv \
dbus \
curl \
wget \
nano \
python3 \
python3-pip \
sudo \
ca-certificates \
gnupg \
lsb-release \
&& apt-get clean
# Устанавливаем yq (автоопределение архитектуры)
RUN ARCH=$(dpkg --print-architecture | sed 's/amd64/amd64/; s/arm64/arm64/; s/aarch64/arm64/') && \
wget -qO /usr/local/bin/yq "https://github.com/mikefarah/yq/releases/latest/download/yq_linux_${ARCH}" && \
chmod +x /usr/local/bin/yq
# Устанавливаем Docker для ARM64
RUN ARCH=$(dpkg --print-architecture) && \
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=${ARCH} 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
# Создаем файлы конфигурации для эмуляции Astra Linux
RUN echo "astra-linux" > /etc/os-release && \
echo "VERSION_ID=\"1.7.6.uu2\"" >> /etc/os-release && \
echo "PRETTY_NAME=\"Astra Linux 1.7.6.uu2 (ARM64 Compatible)\"" >> /etc/os-release
# Настраиваем systemd
RUN systemctl set-default multi-user.target
# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Команда по умолчанию (система запускается от root для systemd)
CMD ["/sbin/init"]

View File

@@ -0,0 +1,50 @@
# CentOS 7 с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
FROM centos:7
# Настраиваем vault репозитории для CentOS 7 (так как основные репозитории больше не поддерживаются)
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*.repo && \
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*.repo
# Обновляем систему
RUN yum update -y && yum upgrade -y
# Устанавливаем systemd и необходимые пакеты
RUN yum install -y \
systemd \
systemd-sysv \
dbus \
curl \
wget \
nano \
python3 \
python3-pip \
sudo \
&& yum clean all
# Устанавливаем yq
# RUN wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_arm64 \
# && chmod +x /usr/local/bin/yq
# Устанавливаем Docker
# RUN curl -fsSL https://get.docker.com | sh
# Устанавливаем 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
# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Команда по умолчанию (система запускается от root для systemd)
CMD ["/sbin/init"]

View File

@@ -0,0 +1,50 @@
# CentOS 8 с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
FROM quay.io/centos/centos:8
# Настраиваем vault репозитории для CentOS 8 (так как основные репозитории больше не поддерживаются)
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*.repo && \
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*.repo
# Обновляем систему
RUN dnf update -y && dnf upgrade -y
# Устанавливаем systemd и необходимые пакеты
RUN dnf install -y --allowerasing \
systemd \
systemd-sysv \
dbus \
curl \
wget \
nano \
python3 \
python3-pip \
sudo \
&& dnf clean all
# Устанавливаем yq
# RUN wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_arm64 \
# && chmod +x /usr/local/bin/yq
# Устанавливаем Docker
# RUN curl -fsSL https://get.docker.com | sh
# Устанавливаем 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
# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Команда по умолчанию (система запускается от root для systemd)
CMD ["/sbin/init"]

View File

@@ -0,0 +1,46 @@
# CentOS с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
FROM quay.io/centos/centos:stream9
# Обновляем систему
RUN dnf update -y && dnf upgrade -y
# Устанавливаем systemd и необходимые пакеты
RUN dnf install -y --allowerasing \
systemd \
systemd-sysv \
dbus \
curl \
wget \
nano \
python3 \
python3-pip \
sudo \
&& dnf clean all
# Устанавливаем yq
# RUN wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_arm64 \
# && chmod +x /usr/local/bin/yq
# Устанавливаем Docker
# RUN curl -fsSL https://get.docker.com | sh
# Устанавливаем 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
# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Команда по умолчанию (система запускается от root для systemd)
CMD ["/sbin/init"]

View File

@@ -0,0 +1,62 @@
# Debian 10 Buster с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
FROM debian:10
# Устанавливаем переменные окружения для автоматического ответа на запросы
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=UTC
# Настраиваем archive репозитории для Debian 10 (так как основные репозитории больше не поддерживаются)
RUN sed -i 's|http://deb.debian.org/debian|http://archive.debian.org/debian|g' /etc/apt/sources.list && \
sed -i 's|http://security.debian.org/debian-security|http://archive.debian.org/debian-security|g' /etc/apt/sources.list && \
echo "deb http://archive.debian.org/debian buster main" > /etc/apt/sources.list && \
echo "deb http://archive.debian.org/debian-security buster/updates main" >> /etc/apt/sources.list
# Обновляем систему
RUN apt-get update && apt-get dist-upgrade -y
# Устанавливаем systemd и необходимые пакеты
RUN apt-get install -y \
systemd \
systemd-sysv \
dbus \
curl \
wget \
nano \
python3 \
python3-pip \
sudo \
&& apt-get clean
# Устанавливаем 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=$(dpkg --print-architecture) 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
# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Команда по умолчанию (система запускается от root для systemd)
CMD ["/sbin/init"]

View File

@@ -0,0 +1,56 @@
# Debian 11 Bullseye с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
FROM debian:11
# Устанавливаем переменные окружения для автоматического ответа на запросы
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=UTC
# Обновляем систему
RUN apt-get update && apt-get dist-upgrade -y
# Устанавливаем systemd и необходимые пакеты
RUN apt-get install -y \
systemd \
systemd-sysv \
dbus \
curl \
wget \
nano \
python3 \
python3-pip \
sudo \
&& apt-get clean
# Устанавливаем 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=$(dpkg --print-architecture) 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
# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Команда по умолчанию (система запускается от root для systemd)
CMD ["/sbin/init"]

View File

@@ -0,0 +1,56 @@
# Debian 12 Bookworm с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
FROM debian:bookworm
# Устанавливаем переменные окружения для автоматического ответа на запросы
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=UTC
# Обновляем систему
RUN apt-get update && apt-get dist-upgrade -y
# Устанавливаем systemd и необходимые пакеты
RUN apt-get install -y \
systemd \
systemd-sysv \
dbus \
curl \
wget \
nano \
python3 \
python3-pip \
sudo \
&& apt-get clean
# Устанавливаем 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=$(dpkg --print-architecture) 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
# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Команда по умолчанию (система запускается от root для systemd)
CMD ["/sbin/init"]

View File

@@ -0,0 +1,62 @@
# Debian 9 Stretch с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
FROM debian:9
# Устанавливаем переменные окружения для автоматического ответа на запросы
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=UTC
# Настраиваем archive репозитории для Debian 9 (так как основные репозитории больше не поддерживаются)
RUN sed -i 's|http://deb.debian.org/debian|http://archive.debian.org/debian|g' /etc/apt/sources.list && \
sed -i 's|http://security.debian.org/debian-security|http://archive.debian.org/debian-security|g' /etc/apt/sources.list && \
echo "deb http://archive.debian.org/debian stretch main" > /etc/apt/sources.list && \
echo "deb http://archive.debian.org/debian-security stretch/updates main" >> /etc/apt/sources.list
# Обновляем систему
RUN apt-get update && apt-get dist-upgrade -y
# Устанавливаем systemd и необходимые пакеты
RUN apt-get install -y \
systemd \
systemd-sysv \
dbus \
curl \
wget \
nano \
python3 \
python3-pip \
sudo \
&& apt-get clean
# Устанавливаем 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=$(dpkg --print-architecture) 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
# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Команда по умолчанию (система запускается от root для systemd)
CMD ["/sbin/init"]

View File

@@ -0,0 +1,54 @@
# RED OS с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
# https://registry.red-soft.ru/ubi7/ubi/tags
# docker search registry.red-soft.ru/ubi7/ubi
# ВАЖНО: Базовый образ поддерживает только linux/amd64
# Для сборки используйте: docker buildx build --platform linux/amd64
FROM registry.red-soft.ru/ubi7/ubi
# Обновляем систему
RUN dnf update -y && dnf upgrade -y
# Устанавливаем systemd и необходимые пакеты
RUN dnf install -y \
systemd \
systemd-sysv \
dbus \
curl \
wget \
nano \
python3 \
python3-pip \
sudo \
&& dnf clean all
# Устанавливаем yq (автоопределение архитектуры)
# RUN ARCH=$(uname -m | sed 's/x86_64/amd64/; s/aarch64/arm64/') && \
# wget -qO /usr/local/bin/yq "https://github.com/mikefarah/yq/releases/latest/download/yq_linux_${ARCH}" && \
# chmod +x /usr/local/bin/yq
# Устанавливаем Docker вручную для RED OS
# RUN dnf install -y dnf-plugins-core \
# && dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo \
# && dnf install -y docker-ce docker-ce-cli containerd.io \
# && dnf clean all
# Устанавливаем 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
# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Команда по умолчанию (система запускается от root для systemd)
CMD ["/sbin/init"]

View File

@@ -0,0 +1,80 @@
# RedOS совместимый образ для ARM64
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
# Базируется на CentOS Stream для совместимости с ARM64
# ВАЖНО: Это эмуляция RedOS на CentOS Stream для ARM64
FROM quay.io/centos/centos:stream9
# Устанавливаем переменные окружения
ENV LANG=ru_RU.UTF-8
ENV LANGUAGE=ru_RU:ru
ENV LC_ALL=ru_RU.UTF-8
# Обновляем систему
RUN dnf update -y && dnf upgrade -y
# Устанавливаем локали
RUN dnf install -y glibc-langpack-ru glibc-locale-source && \
localedef -i ru_RU -f UTF-8 ru_RU.UTF-8 || true
# Устанавливаем systemd и необходимые пакеты
RUN dnf install -y --allowerasing \
systemd \
systemd-sysv \
dbus \
curl \
wget \
nano \
python3 \
python3-pip \
sudo \
ca-certificates \
gnupg \
&& dnf clean all
# Устанавливаем yq (автоопределение архитектуры)
RUN ARCH=$(uname -m | sed 's/x86_64/amd64/; s/aarch64/arm64/') && \
wget -qO /usr/local/bin/yq "https://github.com/mikefarah/yq/releases/latest/download/yq_linux_${ARCH}" && \
chmod +x /usr/local/bin/yq
# Устанавливаем Docker для ARM64
RUN ARCH=$(uname -m) && \
dnf install -y dnf-plugins-core && \
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo && \
dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin && \
dnf clean all
# Устанавливаем 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
# Создаем файлы конфигурации для эмуляции RedOS
RUN echo "Red OS" > /etc/os-release && \
echo "VERSION_ID=\"8.0\"" >> /etc/os-release && \
echo "PRETTY_NAME=\"Red OS 8.0 (ARM64 Compatible)\"" >> /etc/os-release && \
echo "ID=\"redos\"" >> /etc/os-release && \
echo "ID_LIKE=\"rhel fedora\"" >> /etc/os-release && \
echo "VERSION=\"8.0\"" >> /etc/os-release && \
echo "VERSION_CODENAME=\"\"" >> /etc/os-release && \
echo "PLATFORM_ID=\"platform:el8\"" >> /etc/os-release && \
echo "HOME_URL=\"https://www.red-soft.ru/\"" >> /etc/os-release && \
echo "BUG_REPORT_URL=\"https://www.red-soft.ru/support/\"" >> /etc/os-release && \
echo "REDHAT_BUGZILLA_PRODUCT=\"Red OS\"" >> /etc/os-release && \
echo "REDHAT_BUGZILLA_PRODUCT_VERSION=\"8.0\"" >> /etc/os-release && \
echo "REDHAT_SUPPORT_PRODUCT=\"Red OS\"" >> /etc/os-release && \
echo "REDHAT_SUPPORT_PRODUCT_VERSION=\"8.0\"" >> /etc/os-release
# Настраиваем systemd
RUN systemctl set-default multi-user.target
# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Команда по умолчанию (система запускается от root для systemd)
CMD ["/sbin/init"]

View File

@@ -0,0 +1,53 @@
# RHEL с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
FROM registry.access.redhat.com/ubi8/ubi
# Обновляем систему
RUN dnf update -y && dnf upgrade -y
# Устанавливаем systemd и необходимые пакеты
RUN dnf install -y \
systemd \
systemd-sysv \
dbus \
curl \
wget \
nano \
python3 \
python3-pip \
python3-devel \
sudo \
&& dnf clean all
# Устанавливаем Python 3.11+ из EPEL
RUN dnf install -y epel-release && \
dnf install -y python311 python311-pip python311-devel && \
ln -sf /usr/bin/python3.11 /usr/bin/python3 && \
ln -sf /usr/bin/pip3.11 /usr/bin/pip3
# Устанавливаем yq
# RUN wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_arm64 \
# && chmod +x /usr/local/bin/yq
# Устанавливаем Docker
# RUN curl -fsSL https://get.docker.com | sh
# Устанавливаем 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
# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Команда по умолчанию (система запускается от root для systemd)
CMD ["/sbin/init"]

View File

@@ -0,0 +1,54 @@
# Rocky Linux с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
FROM rockylinux:9
# Обновляем систему
RUN dnf update -y && dnf upgrade -y
# Устанавливаем systemd и необходимые пакеты
RUN dnf install -y --allowerasing \
systemd \
systemd-sysv \
dbus \
curl \
wget \
nano \
python3 \
python3-pip \
python3-devel \
sudo \
&& dnf clean all
# Устанавливаем более новую версию Python через pip если нужно
RUN python3 -m pip install --upgrade pip
# Устанавливаем yq (автоматически определяем архитектуру)
# RUN ARCH=$(uname -m) && \
# if [ "$ARCH" = "x86_64" ]; then ARCH="amd64"; elif [ "$ARCH" = "aarch64" ]; then ARCH="arm64"; fi && \
# wget -qO /usr/local/bin/yq "https://github.com/mikefarah/yq/releases/latest/download/yq_linux_${ARCH}" && \
# chmod +x /usr/local/bin/yq
# Устанавливаем Docker
# RUN dnf install -y dnf-plugins-core \
# && dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo \
# && dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Устанавливаем 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
# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Команда по умолчанию (система запускается от root для systemd)
CMD ["/sbin/init"]

View File

@@ -0,0 +1,56 @@
# Ubuntu 20.04 с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
FROM ubuntu:20.04
# Устанавливаем переменные окружения для автоматического ответа на запросы
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=UTC
# Обновляем систему
RUN apt-get update && apt-get dist-upgrade -y
# Устанавливаем systemd и необходимые пакеты
RUN apt-get install -y \
systemd \
systemd-sysv \
dbus \
curl \
wget \
nano \
python3 \
python3-pip \
sudo \
&& apt-get clean
# Устанавливаем 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=$(dpkg --print-architecture) 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
# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Команда по умолчанию (система запускается от root для systemd)
CMD ["/sbin/init"]

View File

@@ -0,0 +1,56 @@
# Ubuntu 22.04 с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
FROM ubuntu:22.04
# Устанавливаем переменные окружения для автоматического ответа на запросы
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=UTC
# Обновляем систему
RUN apt-get update && apt-get dist-upgrade -y
# Устанавливаем systemd и необходимые пакеты
RUN apt-get install -y \
systemd \
systemd-sysv \
dbus \
curl \
wget \
nano \
python3 \
python3-pip \
sudo \
&& apt-get clean
# Устанавливаем 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=$(dpkg --print-architecture) 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
# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Команда по умолчанию (система запускается от root для systemd)
CMD ["/sbin/init"]

View File

@@ -0,0 +1,56 @@
# Ubuntu 24.04 с systemd
# Автор: Сергей Антропов
# Сайт: https://devops.org.ru
FROM ubuntu:24.04
# Устанавливаем переменные окружения для автоматического ответа на запросы
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=UTC
# Обновляем систему
RUN apt-get update && apt-get dist-upgrade -y
# Устанавливаем systemd и необходимые пакеты
RUN apt-get install -y \
systemd \
systemd-sysv \
dbus \
curl \
wget \
nano \
python3 \
python3-pip \
sudo \
&& apt-get clean
# Устанавливаем 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=$(dpkg --print-architecture) 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
# Настраиваем sudoers для root и пользователей
RUN echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ansible-test
# Создаем пользователя для Ansible
RUN useradd -m -s /bin/bash ansible \
&& echo "ansible ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Команда по умолчанию (система запускается от root для systemd)
CMD ["/sbin/init"]