Skip to content

M12 · Bab 1± 50 menitDraf AI

Docker untuk Aplikasi Java

Tujuan belajar

  • Membedakan container dan virtual machine, serta memahami image, layer, dan container
  • Menulis Dockerfile multi-stage untuk Spring Boot (build Maven → runtime eclipse-temurin:25-jre)
  • Memanfaatkan layered jar (-Djarmode=tools ... extract --layers) dan Buildpacks (spring-boot:build-image)
  • Mengamankan dan merampingkan image dengan user non-root, .dockerignore, dan MaxRAMPercentage

Prasyarat: Proyek Mini: Notifikasi Pesanan dengan Kafka

Kuis

5 soal · lulus bila minimal 70% benar

1.Kamu hanya mengubah satu baris di sebuah controller, lalu menjalankan docker build ulang dengan Dockerfile berbasis layered jar. Layer mana yang dibangun dan di-push ulang?
2.Apa yang terjadi bila Dockerfile memakai COPY . . sebelum RUN ./mvnw dependency:go-offline, dan kamu sering mengubah kode?
3.Container order-service diberi limit memori 1 GB dan sering di-kill dengan status OOMKilled, padahal heap terlihat normal. Konfigurasi JVM mana yang paling masuk akal?
4.Kenapa image production sebaiknya memakai eclipse-temurin:25-jre di tahap runtime, bukan eclipse-temurin:25-jdk?
5.Saat docker run, aplikasi gagal menulis file ke /app/logs dengan AccessDeniedException setelah kamu menambahkan USER appuser. Penyebab paling mungkin?

Jawab semua soal dulu (0/5)