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