Изменил обÑдокерфайл. Теперь вместо 1000 мб всего 262 мьÑбÑ. И добавил сборку для разных платформ. ARM64 и AMD64.
This commit is contained in:
45
Dockerfile
45
Dockerfile
@@ -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"]
|
||||
Reference in New Issue
Block a user