Изменил обÑдокерфайл. Теперь вместо 1000 мб всего 262 мьÑбÑ. И добавил сборку для разных платформ. ARM64 и AMD64.

This commit is contained in:
2025-03-17 14:58:29 +03:00
parent 7f1c436224
commit 382681820e
2 changed files with 35 additions and 19 deletions

View File

@@ -1,17 +1,17 @@
# Use the official Python 3.12.9 Bullseye image as the base
FROM python:3.12.9-bullseye
# Используем более легкий базовый образ
FROM python:3.12.9-slim-bullseye AS builder
# Add metadata
# Добавляем метаданные
LABEL maintainer="Сергей Антропов <sergey@antropoff.ru>"
LABEL description="Этот Dockerfile создан для внедрения подхода IaC в Ansible."
LABEL version="0.1"
LABEL contact.website="https://devops.org.ru"
# Set environment variables
# Устанавливаем переменные окружения
ENV PYTHONUNBUFFERED=1
ENV EDITOR=nano
# Install system dependencies
# Устанавливаем системные зависимости
RUN apt-get update && \
apt-get install -y --no-install-recommends \
git \
@@ -25,11 +25,6 @@ RUN apt-get update && \
openssh-client \
nano \
less \
&& rm -rf /var/lib/apt/lists/*
# Install Docker CLI
RUN apt-get update && \
apt-get install -y --no-install-recommends \
ca-certificates \
curl \
gnupg \
@@ -42,8 +37,7 @@ RUN apt-get update && \
docker-ce-cli \
&& rm -rf /var/lib/apt/lists/*
# Install Python dependencies for Ansible and Molecule
# Устанавливаем зависимости Python для Ansible и Molecule
RUN pip install --upgrade pip && \
pip install \
ansible \
@@ -51,16 +45,35 @@ RUN pip install --upgrade pip && \
ansible-vault \
molecule \
molecule-docker \
molecule-plugins ansible-compat \
molecule-plugins \
ansible-compat \
docker
# Копируем ssh ключ
COPY id_rsa /root/.ssh/id_rsa
RUN chmod 600 /root/.ssh/id_rsa
# Set the working directory
# Устанавливаем рабочую директорию
WORKDIR /ansible
# Default command
# Команда по умолчанию
CMD ["/bin/bash"]
# Используем многоэтапную сборку для уменьшения размера конечного образа
FROM python:3.12.9-slim-bullseye
# Копируем только необходимые файлы из промежуточного образа
COPY --from=builder /usr/local/lib/python3.12/site-packages /usr/local/lib/python3.12/site-packages
COPY --from=builder /usr/local/bin /usr/local/bin
COPY --from=builder /root/.ssh /root/.ssh
COPY --from=builder /ansible /ansible
# Устанавливаем переменные окружения
ENV PYTHONUNBUFFERED=1
ENV EDITOR=nano
# Устанавливаем рабочую директорию
WORKDIR /ansible
# Команда по умолчанию
CMD ["/bin/bash"]