Исправить 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:
62
Dockerfile
62
Dockerfile
@@ -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"]
|
||||
Reference in New Issue
Block a user