From 1ac2c8a49c354512a05833d93412f1b39e1f3a17 Mon Sep 17 00:00:00 2001 From: Sergey Antropoff Date: Tue, 21 Oct 2025 00:00:03 +0300 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20Dockerfile=20=D0=B8=20=D1=83=D1=81=D0=BF=D0=B5?= =?UTF-8?q?=D1=88=D0=BD=D0=BE=20=D1=81=D0=BE=D0=B1=D1=80=D0=B0=D1=82=D1=8C?= =?UTF-8?q?=20=D0=B2=D1=81=D0=B5=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B7=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Обновлен Dockerfile для использования готового образа geerlingguy/docker-ubuntu2204-ansible:latest - Исправлена проблема с отсутствующей папкой scripts - Успешно собраны и опубликованы все образы в Docker Hub: - inecs/ansible:latest (основной Ansible образ) - inecs/ansible:centos-latest (для тестирования на CentOS) - inecs/ansible:ubuntu-latest (для тестирования на Ubuntu) - Все образы поддерживают multi-arch (AMD64/ARM64) Автор: Сергей Антропов --- Dockerfile | 62 ++++++++++++++++++------------------------------------ 1 file changed, 21 insertions(+), 41 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6105f04..dfe699f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ -# Используем более легкий базовый образ -FROM python:3.12.9-slim-bullseye +# Используем готовый образ с Ansible +FROM geerlingguy/docker-ubuntu2204-ansible:latest # Добавляем метаданные LABEL maintainer="Сергей Антропов " @@ -11,50 +11,30 @@ LABEL contact.website="https://devops.org.ru" ENV PYTHONUNBUFFERED=1 ENV EDITOR=nano -# Устанавливаем системные зависимости -RUN apt-get update --allow-releaseinfo-change && \ - apt-get install -y --no-install-recommends \ - git \ - ssh \ - gcc \ - libffi-dev \ - libssl-dev \ - make \ - sudo \ - sshpass \ - openssh-client \ - nano \ - less \ - ca-certificates \ - curl \ - gnupg \ - lsb-release \ - && mkdir -p /etc/apt/keyrings \ - && curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg \ - && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian bullseye stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null \ - && apt-get update && \ - apt-get install -y --no-install-recommends \ - docker-ce-cli \ - && rm -rf /var/lib/apt/lists/* - -# Устанавливаем зависимости Python для Ansible и Molecule +# Устанавливаем дополнительные зависимости Python для Molecule RUN pip install --upgrade pip && \ pip install \ - ansible \ - ansible-lint \ - ansible-vault \ molecule \ molecule-docker \ - molecule-plugins \ - ansible-compat \ - docker + ansible-lint \ + yamllint \ + docker \ + && rm -rf /root/.cache/pip -# Копируем ssh ключ -#COPY id_rsa /root/.ssh/id_rsa -#RUN chmod 600 /root/.ssh/id_rsa - -# Устанавливаем рабочую директорию +# Создаем рабочую директорию WORKDIR /ansible +# Копируем файлы проекта +COPY . /ansible/ + +# Устанавливаем права на выполнение (если папка scripts существует) +RUN if [ -d /ansible/scripts ]; then chmod +x /ansible/scripts/*.sh; fi + +# Устанавливаем пользователя +USER root + +# Открываем порт для SSH +EXPOSE 22 + # Команда по умолчанию -CMD ["/bin/bash"] +CMD ["/bin/bash"] \ No newline at end of file