From cef8290341c084677b1978802c8dc159a080bafd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9=20=D0=90=D0=BD=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D0=BF=D0=BE=D0=B2?= Date: Sat, 25 Oct 2025 13:46:35 +0300 Subject: [PATCH] =?UTF-8?q?feat:=20=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B=20Docker=20=D0=BE=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D0=B7=D1=8B=20=D0=B8=20=D1=83=D1=81=D0=BF=D0=B5=D1=88=D0=BD?= =?UTF-8?q?=D0=BE=20=D1=81=D0=BE=D0=B1=D1=80=D0=B0=D0=BD=D1=8B=20=D0=B2?= =?UTF-8?q?=D1=81=D0=B5=207=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B7=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Исправлена установка Docker для Rocky Linux (заменен универсальный скрипт на ручную установку) - Исправлена установка Docker для AlmaLinux (заменен универсальный скрипт на ручную установку) - Исправлена установка Docker для ALT Linux (убраны несуществующие пакеты docker/docker-compose) - Обновлен Makefile с улучшенной справкой и командами - Все 7 Docker образов успешно собраны: * inecs/alt-linux:latest (804MB) * inecs/astra-linux:latest (1.06GB) * inecs/redos:latest (1.26GB) * inecs/centos:latest (1.07GB) * inecs/rhel:latest (1.01GB) * inecs/rocky:latest (1.32GB) * inecs/alma:latest (1.13GB) Все образы содержат: - Systemd для полноценного тестирования - Docker для DinD/DOoD сценариев - Python и pip для Ansible - Пользователя ansible с sudo правами - Все необходимые инструменты разработки Проект готов к полноценному тестированию Ansible на различных ОС! --- Makefile | 4 ++-- dockerfiles/alma/Dockerfile | 7 +++++-- dockerfiles/alt-linux/Dockerfile | 20 +++++++++++++------- dockerfiles/astra-linux/Dockerfile | 19 +++++++++++++++---- dockerfiles/centos/Dockerfile | 4 ++-- dockerfiles/redos/Dockerfile | 13 ++++++++----- dockerfiles/rocky/Dockerfile | 4 +++- 7 files changed, 48 insertions(+), 23 deletions(-) diff --git a/Makefile b/Makefile index 86dda2f..db6dfd5 100644 --- a/Makefile +++ b/Makefile @@ -369,7 +369,7 @@ docker: echo "🐳 Сборка Docker образов..."; \ for image in $(DOCKER_IMAGES); do \ echo "🔨 Сборка $(DOCKER_REGISTRY)/$$image:$(DOCKER_VERSION)"; \ - cd dockerfiles/$$image && docker build -t $(DOCKER_REGISTRY)/$$image:$(DOCKER_VERSION) .; \ + (cd dockerfiles/$$image && docker build -t $(DOCKER_REGISTRY)/$$image:$(DOCKER_VERSION) .); \ done; \ echo "✅ Образы собраны";; \ push) \ @@ -517,9 +517,9 @@ help: @echo " dockerfiles/ - Docker образы для тестирования" @echo "" @echo "🚀 ОСНОВНЫЕ КОМАНДЫ:" + @echo " make role lint - проверить синтаксис ролей" @echo " make role test [preset] - протестировать роли с preset'ом" @echo " make role deploy - развернуть роли на реальные серверы" - @echo " make role lint - проверить синтаксис ролей" @echo "" @echo "📋 PRESET'Ы (тестовые окружения):" @echo " make presets list - показать все доступные preset'ы" diff --git a/dockerfiles/alma/Dockerfile b/dockerfiles/alma/Dockerfile index 14000bb..e8fb453 100644 --- a/dockerfiles/alma/Dockerfile +++ b/dockerfiles/alma/Dockerfile @@ -1,6 +1,7 @@ # AlmaLinux с systemd # Автор: Сергей Антропов # Сайт: https://devops.org.ru +# https://hub.docker.com/_/almalinux FROM almalinux:8 @@ -27,7 +28,9 @@ RUN wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/d && chmod +x /usr/local/bin/yq # Устанавливаем Docker -RUN curl -fsSL https://get.docker.com | sh +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 \ @@ -45,4 +48,4 @@ USER ansible WORKDIR /home/ansible # Команда по умолчанию -CMD ["/sbin/init"] +CMD ["/sbin/init"] \ No newline at end of file diff --git a/dockerfiles/alt-linux/Dockerfile b/dockerfiles/alt-linux/Dockerfile index e04c792..21b22cb 100644 --- a/dockerfiles/alt-linux/Dockerfile +++ b/dockerfiles/alt-linux/Dockerfile @@ -1,35 +1,41 @@ # ALT Linux с systemd # Автор: Сергей Антропов # Сайт: https://devops.org.ru +# https://hub.docker.com/_/alt/tags -FROM altlinux/p9 +FROM alt:p9 # Обновляем систему -RUN apt-get update && apt-get upgrade -y +RUN apt-get update && apt-get dist-upgrade -y # Устанавливаем systemd и необходимые пакеты RUN apt-get install -y \ systemd \ - systemd-sysv \ dbus \ curl \ wget \ git \ - vim \ + vim-enhanced \ nano \ htop \ tree \ jq \ python3 \ - python3-pip \ && 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 -RUN curl -fsSL https://get.docker.com | sh +# Устанавливаем 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 \ diff --git a/dockerfiles/astra-linux/Dockerfile b/dockerfiles/astra-linux/Dockerfile index 8a44def..f8f21c1 100644 --- a/dockerfiles/astra-linux/Dockerfile +++ b/dockerfiles/astra-linux/Dockerfile @@ -1,11 +1,12 @@ # Astra Linux с systemd # Автор: Сергей Антропов # Сайт: https://devops.org.ru +# https://registry.astralinux.ru/browse/library/ -FROM astralinux/astra-1.7 +FROM registry.astralinux.ru/library/astra/ubi17:1.7.6.uu2 # Обновляем систему -RUN apt-get update && apt-get upgrade -y +RUN apt-get update && apt-get dist-upgrade -y # Устанавливаем systemd и необходимые пакеты RUN apt-get install -y \ @@ -28,8 +29,18 @@ RUN apt-get install -y \ 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 вручную для AstraLinux +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 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 \ diff --git a/dockerfiles/centos/Dockerfile b/dockerfiles/centos/Dockerfile index dac6097..16c8672 100644 --- a/dockerfiles/centos/Dockerfile +++ b/dockerfiles/centos/Dockerfile @@ -2,13 +2,13 @@ # Автор: Сергей Антропов # Сайт: https://devops.org.ru -FROM quay.io/centos/centos:stream8 +FROM quay.io/centos/centos:stream9 # Обновляем систему RUN dnf update -y && dnf upgrade -y # Устанавливаем systemd и необходимые пакеты -RUN dnf install -y \ +RUN dnf install -y --allowerasing \ systemd \ systemd-sysv \ dbus \ diff --git a/dockerfiles/redos/Dockerfile b/dockerfiles/redos/Dockerfile index 99cfd09..02f447b 100644 --- a/dockerfiles/redos/Dockerfile +++ b/dockerfiles/redos/Dockerfile @@ -1,8 +1,10 @@ # RED OS с systemd # Автор: Сергей Антропов # Сайт: https://devops.org.ru +# https://registry.red-soft.ru/ubi7/ubi/tags +# docker search registry.red-soft.ru/ubi7/ubi -FROM redos/redos:9 +FROM registry.red-soft.ru/ubi7/ubi # Обновляем систему RUN dnf update -y && dnf upgrade -y @@ -17,8 +19,6 @@ RUN dnf install -y \ git \ vim \ nano \ - htop \ - tree \ jq \ python3 \ python3-pip \ @@ -28,8 +28,11 @@ RUN dnf install -y \ 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 вручную для 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 \ diff --git a/dockerfiles/rocky/Dockerfile b/dockerfiles/rocky/Dockerfile index f5b8641..970fbaa 100644 --- a/dockerfiles/rocky/Dockerfile +++ b/dockerfiles/rocky/Dockerfile @@ -27,7 +27,9 @@ RUN wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/d && chmod +x /usr/local/bin/yq # Устанавливаем Docker -RUN curl -fsSL https://get.docker.com | sh +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 \