Knowledgebase

แนะนำ Docker Compose

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

เพื่อเริ่มแอปพลิเคชัน คุณสามารถรันคำสั่งต่อไปนี้:

docker-compose up

คำสั่งนี้จะอ่านไฟล์ YAML และเริ่มคอนเทนเนอร์ที่กำหนดในไฟล์ จากนั้นคุณสามารถเข้าถึงบริการเว็บได้โดยเปิดเว็บเบราว์เซอร์และไปที่ http://localhost:8000

สรุป

Docker Compose เป็นเครื่องมือที่ทรงพลังสำหรับการจัดการแอปพลิเคชัน Docker แบบหลายคอนเทนเนอร์ ด้วย Docker Compose คุณสามารถกำหนดแอปพลิเคชันของคุณเป็นชุดคอนเทนเนอร์ที่เชื่อมต่อกัน ทำให้การจัดการและการขยายแอปพลิเคชันเป็นเรื่องง่ายขึ้น โดยใช้ไฟล์ YAML ง่าย ๆ เพื่อกำหนดค่าแอปพลิเคชัน Docker Compose ช่วยให้คุณสร้าง, รัน, และจัดการแอปพลิเคชันที่ซับซ้อนบนคอนเทนเนอร์ได้อย่างง่ายดาย