junior
Что такое Dockerfile?
Dockerfile — это текстовый файл с набором инструкций для автоматической сборки Docker-образа. Каждая инструкция в Dockerfile создаёт новый слой в образе.
Пример для Java-приложения
Пример
# Базовый образ с JRE
FROM eclipse-temurin:17-jre-alpine
# Рабочая директория внутри контейнера
WORKDIR /app
# Копируем JAR-файл в контейнер
COPY target/myapp.jar app.jar
# Порт, который слушает приложение
EXPOSE 8080
# Команда запуска
ENTRYPOINT ["java", "-jar", "app.jar"]
Сборка образа
Для сборки образа из Dockerfile используется команда:
Пример
docker build -t myapp:1.0 .
Здесь -t задаёт имя и тег образа, а . указывает на контекст сборки (директорию, из которой Docker берёт файлы).
Правила именования
Файл должен называться Dockerfile (без расширения). Можно использовать другое имя, передав флаг -f:
Пример
docker build -f Dockerfile.prod -t myapp:prod .
На собеседовании: определите Dockerfile как декларативное описание образа. Упомяните, что каждая инструкция создаёт слой, и что порядок инструкций влияет на кэширование при пересборке. Будьте готовы написать простой Dockerfile для Spring Boot приложения.