Встречается на собеседованиях • сегодня

Как Docker облегчает размер приложения

Docker использует слоистую файловую систему (UnionFS), что позволяет эффективно управлять зависимостями и уменьшать итоговый размер образа. Каждая команда в Dockerfile создаёт новый слой, а общие слои могут переиспользоваться между разными образами.

Пример оптимизации:

dockerfile
FROM openjdk:17-jdk-slim AS builder
WORKDIR /app
COPY . .
RUN ./gradlew build

FROM openjdk:17-jdk-slim
COPY --from=builder /app/build/libs/app.jar /app.jar
CMD ["java", "-jar", "/app.jar"]

Ключевые моменты:

  1. Использование slim-образов (например, openjdk:17-jdk-slim)
  2. Многоэтапная сборка (multi-stage build) для исключения ненужных зависимостей
  3. Очистка кэша и временных файлов в одном RUN-инструкции
  4. Минимизация количества слоев через объединение команд
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы