Sobes.tech
Назад к вопросам
Junior — Middle
68

Каким образом можно создать максимально компактный образ Docker?

Ответ от нейросети

sobes.tech AI

Для создания максимально компактного Docker-образа можно использовать несколько подходов:

  1. Использование минималистичных базовых образов — например, alpine, который весит около 5 МБ.
  2. Многоступенчатая сборка (multi-stage builds) — позволяет собрать приложение в одном образе, а в итоговый включить только необходимые артефакты, исключая инструменты сборки.
  3. Удаление временных файлов и кешей в процессе сборки.
  4. Минимизация количества слоёв — объединение команд RUN в один.

Пример Dockerfile с многоступенчатой сборкой:

# Этап сборки
FROM maven:3.8.5-openjdk-17-slim AS build
WORKDIR /app
COPY pom.xml .
COPY src ./src
RUN mvn clean package -DskipTests

# Этап запуска
FROM openjdk:17-jdk-alpine
COPY --from=build /app/target/myapp.jar /myapp.jar
ENTRYPOINT ["java", "-jar", "/myapp.jar"]

Такой подход позволяет получить компактный образ без инструментов сборки и исходников.