Назад к вопросам
Junior — Middle
68
Каким образом можно создать максимально компактный образ Docker?
Ответ от нейросети
sobes.tech AI
Для создания максимально компактного Docker-образа можно использовать несколько подходов:
- Использование минималистичных базовых образов — например,
alpine, который весит около 5 МБ. - Многоступенчатая сборка (multi-stage builds) — позволяет собрать приложение в одном образе, а в итоговый включить только необходимые артефакты, исключая инструменты сборки.
- Удаление временных файлов и кешей в процессе сборки.
- Минимизация количества слоёв — объединение команд 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"]
Такой подход позволяет получить компактный образ без инструментов сборки и исходников.