รู้จักกับ Docker compose
รู้จักกับ docker-compose (ตัว management ของ Docker)
จริงๆ เราสามารถใช้ Docker รันทุกอย่างได้เลยนะ ตั้งแต่ Http server, database เช่น สมมุติเราจะสร้าง Container 3 ตัวคือ
- node - http server (แบบเมื่อกี้)
- mysql - database
- phpmyadmin - หน้าจัดการ database
เราก็สามารถไล่สร้าง Dockerfile ทีละอัน และ run ทั้ง 3 ตัวมาก็ได้ ปัญหามันจะเกิดขึ้นคือ
- ถ้า Container เยอะ เราจะเริ่มจัดการยากขึ้น
- ยิ่งถ้ามีการ update application จะต้องคอยมา update แต่ละ image จะยิ่งจัดการยาก
มันก็เลยมี tool ตัวหนึ่ง คือตัว Composer สำหรับการควบคุม Docker container แบบทีละหลายตัวได้ คือ docker-compose
ขึ้นมา
docker-compose คือเครื่องมือสำหรับจัดการ docker แบบทีละหลาย container ได้ ข้อดีของ docker-compose คือ ถ้าเกิด application เรามีการใช้ image file ร่วมกันหลายตัว มันจะเป็นตัวควบคุมทำให้ image แต่ละตัวสื่อสารกันได้ง่ายขึ้น (รวมถึงสามารถจำลองการ communication ใน production จริงได้เช่นกัน)
ซึ่งข้อดีของปัจจุบันคือ docker-compose เป็นตัว default ที่ลงมาให้กับ Docker desktop แล้วเรียบร้อย ! (ใช่ครับ เมื่อก่อนมันต้องไปหาลงเอง) ดังนั้นจึงไม่ต้องลงอะไรเพิ่มแล้ว สามารถใช้งานได้เลย