Docker Compose เป็นเครื่องมือที่ช่วยให้ผู้ใช้สามารถกำหนดและรันแอปพลิเคชัน Docker แบบหลายคอนเทนเนอร์ได้ ด้วย Docker Compose คุณสามารถใช้ไฟล์ YAML เพื่อกำหนดค่าบริการ, เครือข่าย, และโวลุ่มของแอปพลิเคชัน ทำให้คุณสามารถรันหลายคอนเทนเนอร์ที่เชื่อมต่อกันและจัดการเป็นหน่วยเดียวได้
Docker Compose ถูกเปิดตัวในปี 2014 เพื่อทำให้การจัดการแอปพลิเคชัน Docker แบบหลายคอนเทนเนอร์เป็นเรื่องง่ายขึ้น ตั้งแต่นั้นมามันได้กลายเป็นเครื่องมือที่ได้รับความนิยมในระบบนิเวศของ Docker โดยให้วิธีการจัดระเบียบคอนเทนเนอร์ที่ง่ายและมีประสิทธิภาพ
วิธีการทำงานของ Docker Compose
Docker Compose ทำงานโดยอ่านไฟล์ YAML ที่อธิบายบริการ, เครือข่าย, และโวลุ่มของแอปพลิเคชันแต่ละบริการจะถูกกำหนดเป็นคอนเทนเนอร์ และไฟล์ YAML จะระบุว่าคอนเทนเนอร์ควรตั้งค่าอย่างไรและสื่อสารกับกันอย่างไร
เมื่อคุณรัน Docker Compose มันจะสร้างเครือข่ายสำหรับแอปพลิเคชันและเริ่มคอนเทนเนอร์ที่กำหนดในไฟล์ YAML คอนเทนเนอร์จะถูกเริ่มตามลำดับที่ระบุในไฟล์ YAML และแต่ละคอนเทนเนอร์จะเริ่มด้วยตัวแปรสภาพแวดล้อม, ไฟล์กำหนดค่า, และทรัพยากรอื่น ๆ ของตนเอง
เมื่อคอนเทนเนอร์ทำงานแล้ว Docker Compose จะให้ชุดคำสั่งสำหรับจัดการแอปพลิเคชัน เช่น การเริ่มและหยุดคอนเทนเนอร์, การขยายบริการ, และการดูบันทึก
การใช้ Docker Compose
เพื่อใช้ Docker Compose คุณต้องสร้างไฟล์ YAML ที่อธิบายแอปพลิเคชันของคุณ ตัวอย่างไฟล์ Docker Compose YAML ง่าย ๆ มีดังนี้:
version: '3'
services:
web:
image: nginx
ports:
- "8000:80"
db:
image: postgres
environment:
POSTGRES_PASSWORD: example
ในตัวอย่างนี้ เรามีสองบริการ: “web” และ “db” บริการ “web” ใช้ภาพ nginx และเปิดพอร์ต 8000 ไปยังโฮสต์ ส่วนบริการ “db” ใช้ภาพ postgres และตั้งค่าตัวแปรสภาพแวดล้อม POSTGRES_PASSWORD
เพื่อเริ่มแอปพลิเคชัน คุณสามารถรันคำสั่งต่อไปนี้:
คำสั่งนี้จะอ่านไฟล์ YAML และเริ่มคอนเทนเนอร์ที่กำหนดในไฟล์ จากนั้นคุณสามารถเข้าถึงบริการเว็บได้โดยเปิดเว็บเบราว์เซอร์และไปที่ http://localhost:8000
สรุป
Docker Compose เป็นเครื่องมือที่ทรงพลังสำหรับการจัดการแอปพลิเคชัน Docker แบบหลายคอนเทนเนอร์ ด้วย Docker Compose คุณสามารถกำหนดแอปพลิเคชันของคุณเป็นชุดคอนเทนเนอร์ที่เชื่อมต่อกัน ทำให้การจัดการและการขยายแอปพลิเคชันเป็นเรื่องง่ายขึ้น โดยใช้ไฟล์ YAML ง่าย ๆ เพื่อกำหนดค่าแอปพลิเคชัน Docker Compose ช่วยให้คุณสร้าง, รัน, และจัดการแอปพลิเคชันที่ซับซ้อนบนคอนเทนเนอร์ได้อย่างง่ายดาย