Исправить Dockerfile и успешно собрать все образы

- Обновлен 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)

Автор: Сергей Антропов
This commit is contained in:
2025-10-21 00:00:03 +03:00
parent 705ec0b378
commit 1ac2c8a49c

View File

@@ -1,5 +1,5 @@
# Используем более легкий базовый образ
FROM python:3.12.9-slim-bullseye
# Используем готовый образ с Ansible
FROM geerlingguy/docker-ubuntu2204-ansible:latest
# Добавляем метаданные
LABEL maintainer="Сергей Антропов <sergey@antropoff.ru>"
@@ -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"]