เพิ่งสังเกตเห็นว่า Spring Boot 3.1 ที่ออกมานั้น
สนับสนุน Docker compose แล้ว
ทำให้การ build, develop, testing, deploy กับ Docker ง่ายขึ้น
โดยทำดังนี้
ทำการเพิ่ม dependency เข้ามาใน project
[gist id="d4c1655232816edd072bca645c7dac3a" file="1.txt"]โดย dependency ตัวนี้ จะทำงานดังนี้
- ทำการค้นหาไฟล์ compose.yml หรือ docker-compose.yml ใน project
- ถ้าเจอแล้ว จะทำงาน $docker compose up เพื่อสร้าง container ต่าง ๆ ขึ้นมา
- เมื่อจำการทำงานหรือ shutdown server จะทำงาน $docker compose down เพื่อลบ container ต่าง ๆ ที่สร้างขึ้นมาให้
สามารถเปลี่ยนชื่อไฟล์ docker compose ได้ด้วย
[gist id="d4c1655232816edd072bca645c7dac3a" file="2.txt"]มีเรื่องของ readiness ด้วย เพื่อให้ทำการรอจนกว่า container จะพร้อม
แต่ถ้าต้องการปิดทำได้ดังนี้
ด้วยการเพิ่ม org.springframework.boot.readiness-check.tcp.disable: true
เช่น
[gist id="d4c1655232816edd072bca645c7dac3a" file="compose.yml"]รวมทั้งยังสามารถกำหนด timeout เพิ่มได้
[gist id="d4c1655232816edd072bca645c7dac3a" file="3.txt"]เพียงเท่านี้ก็สามารถใช้งาน Docker compose ได้แบบง่าย ๆ และสะดวกขึ้น