Dockerizing Spring Boot Microservices
Spring, Boot, 2.3+, mein, layered, JARs, feature, DOCKER, image, LAYERS, ko, OPTIMIZE, karta hai — DEPENDENCIES, (JO, RARELY, change, hoti, hain) aur, APPLICATION, code, (JO, FREQUENTLY, change, hota, hai) ko, ALAG, LAYERS, mein, RAKHTA, hai — REBUILDS, FASTER, ho, jaate, HAIN.
Multi-stage, Docker, builds, se, BUILD-TIME, dependencies, (Maven, JDK) aur, RUNTIME, dependencies, (sirf, JRE) ko, SEPARATE, kiya, ja, sakta hai — FINAL, image, size, KAAFI, chhoti, ho, jaati, hai.
FROM eclipse-temurin:21-jre-alpine
WORKDIR /app
COPY target/order-service.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]
# Layered, JAR, se, better, caching, ke, liye:
# java -Djarmode=layertools -jar app.jar extract- Layered JARs = dependencies, aur, application, code, ko, ALAG, layers, mein
- Multi-stage builds, se, final, image, size, KAAFI, chhoti, ho, jaati, hai
- Better, docker, layer, caching, se, rebuilds, FASTER, hote, hain
eclipse-temurin:21-jre-alpine, JAISI, MINIMAL, base, images, se, image, size, KAAFI, chhoti, ho, jaati, hai — Alpine-based, images, GENERALLY, SMALLER, HAIN, LEKIN, KUCH, native, libraries, ke, saath, compatibility, ISSUES, ho, sakte, hain.
FROM eclipse-temurin:21-jre-alpine # ~180MB vs, full, JDK, image, ~450MBContainer-aware, JVM, settings, (jaise, -XX:MaxRAMPercentage=75.0) ZAROORI, HAIN — MODERN, JVMs, container, memory, LIMITS, ko, AUTOMATICALLY, detect, karte, HAIN, LEKIN, EXPLICIT, tuning, se, MEMORY, USAGE, ko, BETTER, control, kiya, ja, sakta hai.