หลังจากที่แบ่งปันเรื่องการใช้งาน Docker ไปนั้น
มีคำถามเกี่ยวกับ Profile ใน Docker compose
ซึ่งไม่ค่อยได้ใช้งานเท่าไร
จึงทำการอธิบายถึงปัญหา และที่มาของ feature นี้
รวมทั้งการใช้งาน
ดังนั้นมาเริ่มกันเลย
แนวคิด หรือ ปัญหาหลัก ๆ คือ
ถ้าต้องการใช้งาน Docker compose file ใน environment ต่าง ๆ เช่น
- Dev
- Test
- Prod
ที่มีความแตกต่างกัน ทั้งเรื่องของ service ที่ start !!
จะทำการจัดการอย่างไร ?
วิธีการจัดการ ?
สร้างไฟล์แยกตาม environment ไปเลย หรือ ทำการ overrided เอาก็ได้
หรืออีกวิธีการคือ การใส่ profiles เข้าไปในแต่ละ service ไปเลย
ยกตัวอย่างเช่น
- ในการใช้งานทั่วไป จะไม่สร้าง service ชื่อว่า php-myadmin มาจัดการ database จะสร้างเฉพาะ profile = debug เท่านั้น
สามารถ run ด้วยการระบุ profile ดังนี้
[code] $docker compose --profile debug up หรือ $COMPOSE_PROFILES=debug docker compose up [/code]ถ้าต้องการระบุหลาย ๆ profile ทำดังนี้
[code] $docker compose --profile frontend --profile debug up หรือ $COMPOSE_PROFILES=frontend,debug docker compose up [/code]เพียงเท่านี้ก็ใช้งานได้แล้ว
แต่อาจจะสร้างความซับซ้อนขึ้นไปอีกนะครับ
ลองใช้งานกันดู