Docker — стандарт контейнеризации для Java-приложений. Упаковывает Spring Boot сервис со всеми зависимостями в изолированный контейнер, который одинаково работает на ноутбуке разработчика, CI-сервере и продакшне. Больше никакого «у меня работает».
Разделяет сборку и запуск. На первом этапе Maven компилирует и собирает JAR, на втором — в финальный образ попадает только JRE и артефакт. Размер образа сокращается с 600MB до 150MB.
dockerfileFROM maven:3.9-eclipse-temurin-21 AS build
COPY . .
RUN mvn package -DskipTests
FROM eclipse-temurin:21-jre-alpine
COPY --from=build target/app.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
Поднимает PostgreSQL, Redis и само приложение одной командой docker compose up. Никаких ручных установок на машину разработчика — новый член команды готов к работе за 5 минут.
Секреты и настройки передаются через environment или .env файл — никаких application.properties с паролями в репозитории.
Docker превращает деплой Java-приложения из ручного ритуала в воспроизводимый автоматизированный процесс.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2