# Spring Boot และ Docker (Spring Boot) > การทำคอนเทนเนอร์ด้วย Docker: Dockerfile, multi-stage build, image ที่ปรับให้เหมาะสม, docker-compose, Spring profiles - 19 คำถามสัมภาษณ์ - Senior - [คำถามสัมภาษณ์: Spring Boot](https://sharpskill.dev/th/technologies/spring-boot/interview-questions.md) ## 1. Layered JAR ใน Spring Boot คืออะไร? **คำตอบ** Layered JAR จัดระเบียบเนื้อหาของ JAR ออกเป็นเลเยอร์ที่แยกจากกัน (dependencies, spring-boot-loader, snapshot-dependencies, application) เพื่อปรับการ build Docker ให้เหมาะสม แต่ละเลเยอร์สามารถแคชแยกกันได้ ซึ่งช่วยเร่งการ build ใหม่อย่างมากเพราะมีเพียงเลเยอร์ที่เปลี่ยนแปลงเท่านั้นที่ถูก build ใหม่ แนวทางนี้ช่วยลดเวลาการ deploy ในโปรดักชันลงถึง 80% ## 2. บทบาทของ Spring Boot Buildpacks คืออะไร? **คำตอบ** Buildpacks สร้าง image Docker ที่ปรับให้เหมาะสมโดยอัตโนมัติโดยไม่ต้องมี Dockerfile โดยจะตรวจจับประเภทของแอปพลิเคชัน ติดตั้ง runtime ที่เหมาะสม กำหนดค่าการปรับแต่ง JVM และใช้แนวทางปฏิบัติด้านความปลอดภัยที่ดีที่สุด แนวทางนี้ช่วยขจัดการดูแล Dockerfile ด้วยมือและรับประกัน image ที่สอดคล้องกับมาตรฐานอุตสาหกรรม ## 3. คำสั่ง Dockerfile ใดที่ใช้คัดลอก JAR เข้าไปใน image? **คำตอบ** คำสั่ง COPY ถ่ายโอนไฟล์จากระบบโฮสต์ไปยัง image Docker สำหรับ Spring Boot โดยทั่วไปเราใช้ COPY target/*.jar app.jar เพื่อคัดลอก JAR ที่ build แล้ว คำสั่งนี้สร้างเลเยอร์ใหม่ใน image และรองรับ wildcard เพื่อความยืดหยุ่นของชื่อไฟล์ ## มีอีก 16 คำถาม - จะ expose พอร์ตใน Dockerfile ได้อย่างไร? - ควรให้ความสำคัญกับ base image ใดสำหรับคอนเทนเนอร์ Spring Boot ในโปรดักชัน? สมัครฟรี: https://sharpskill.dev/th/login ## หัวข้อสัมภาษณ์ Spring Boot อื่นๆ - [Spring Core - IoC & DI](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-core-ioc-di.md): 22 คำถาม, Junior - [Spring Boot Auto-Configuration](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-boot-auto-configuration.md): 20 คำถาม, Junior - [Spring Boot Starters](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-boot-starters.md): 18 คำถาม, Junior - [Application Properties & YAML](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/application-properties-yml.md): 16 คำถาม, Junior - [การทำ Logging ด้วย SLF4J และ Logback](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/logging.md): 20 คำถาม, Junior - [Spring Boot DevTools](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-boot-devtools.md): 15 คำถาม, Junior - [Spring MVC Basics](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-mvc-basics.md): 20 คำถาม, Mid-Level - [Spring REST Controllers](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-rest-controllers.md): 20 คำถาม, Mid-Level - [Request & Response Handling](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/request-response-handling.md): 20 คำถาม, Mid-Level - [การจัดการข้อยกเว้น](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/exception-handling.md): 25 คำถาม, Mid-Level - [Bean Validation](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/bean-validation.md): 25 คำถาม, Mid-Level - [พื้นฐาน Spring Data JPA](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-data-jpa-basics.md): 25 คำถาม, Mid-Level - [เอนทิตี JPA และความสัมพันธ์](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/jpa-entities-relationships.md): 30 คำถาม, Mid-Level - [การสืบค้น JPA](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/jpa-queries.md): 30 คำถาม, Mid-Level - [Spring Data Repositories](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-data-repositories.md): 25 คำถาม, Mid-Level - [พื้นฐาน Spring Security](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-security-basics.md): 25 คำถาม, Mid-Level - [Spring Boot Actuator](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-boot-actuator.md): 20 คำถาม, Mid-Level - [การทดสอบหน่วยด้วย JUnit และ Mockito](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/testing-junit-mockito.md): 30 คำถาม, Mid-Level - [การทดสอบ Spring Boot](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-boot-testing.md): 30 คำถาม, Mid-Level - [Profiles และ Environment](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/profiles-environment.md): 20 คำถาม, Mid-Level - [RestTemplate และ WebClient](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/resttemplate-webclient.md): 24 คำถาม, Mid-Level - [Async และ Scheduling](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/async-scheduling.md): 25 คำถาม, Mid-Level - [Caching ด้วย Spring](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/caching.md): 25 คำถาม, Mid-Level - [Spring WebFlux (Reactive)](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-webflux.md): 25 คำถาม, Mid-Level - [ทรานแซกชัน Spring](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/transactions.md): 30 คำถาม, Senior - [การยืนยันตัวตนและการให้สิทธิ์ขั้นสูง](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/authentication-authorization.md): 30 คำถาม, Senior - [JWT และความปลอดภัยแบบ Stateless](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/jwt-stateless-security.md): 20 คำถาม, Senior - [OAuth2 และ Authorization Server](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/oauth2-authorization-server.md): 20 คำถาม, Senior - [Microservices ด้วย Spring](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/microservices-basics.md): 25 คำถาม, Senior - [Spring Cloud Config](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-cloud-config.md): 19 คำถาม, Senior - [การเพิ่มประสิทธิภาพการทำงาน](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/performance-optimization.md): 30 คำถาม, Senior - [GraalVM Native Images](https://sharpskill.dev/th/technologies/spring-boot/interview-questions/graalvm-native-images.md): 20 คำถาม, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/th/technologies/spring-boot/interview-questions/spring-boot-docker