0Pricing
DevOps Bootcamp · บทเรียน

Docker Compose คืออะไร

ทำความเข้าใจจุดประสงค์ของ Docker Compose และวิธีจัดการแอปพลิเคชันที่มีหลายคอนเทนเนอร์

Docker Compose คืออะไร เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

ยินดีต้อนรับสู่ Docker Compose

ยินดีต้อนรับครับ จนถึงตอนนี้ คุณได้เรียนรู้การเรียกใช้คอนเทนเนอร์ทีละรายการแล้ว แต่ถ้าแอปพลิเคชันของคุณต้องใช้มากกว่าหนึ่งคอนเทนเนอร์ล่ะ

แอปพลิเคชันในโลกจริงส่วนใหญ่ไม่ได้มีเพียงคอนเทนเนอร์เดียว แต่มักประกอบด้วยเว็บเซิร์ฟเวอร์ ฐานข้อมูล แคช และส่วนอื่น ๆ อีกมากมาย

Docker Compose คืออะไร — ภาพประกอบ 1

ความท้าทายของหลายคอนเทนเนอร์

ลองนึกภาพว่าคุณกำลังเรียกใช้เว็บแอปที่มีฐานข้อมูล คุณจะต้องใช้คำสั่ง docker run แยกกันสำหรับแต่ละส่วน

ไม่นานก็จะเริ่มยุ่งยาก แล้วแต่ละส่วนจะสื่อสารกันอย่างไร คุณจะเริ่มต้นทุกส่วนตามลำดับที่ถูกต้องได้อย่างไร

การจัดการคอนเทนเนอร์หลายตัวและการเชื่อมต่อระหว่างกันด้วยตนเองอาจน่าเบื่อและเกิดข้อผิดพลาดได้ง่าย

เริ่มต้นใช้งาน Docker Compose

นี่คือจุดที่ Docker Compose เข้ามาช่วยครับ เครื่องมือนี้ใช้สำหรับกำหนดและเรียกใช้แอปพลิเคชัน Docker ที่ประกอบด้วยหลายคอนเทนเนอร์

แทนที่จะใช้คำสั่ง docker run แยกกันหลายคำสั่ง คุณสามารถกำหนดชุดส่วนประกอบทั้งหมดของแอปพลิเคชันไว้ในไฟล์การตั้งค่าเพียงไฟล์เดียว

ไฟล์ Compose: docker-compose.yml

Docker Compose ใช้ไฟล์ชื่อ docker-compose.yml (หรือชื่อใกล้เคียง) เพื่อกำหนดค่าบริการต่าง ๆ ของแอปพลิเคชัน

ไฟล์นี้ใช้รูปแบบที่เรียบง่ายและมนุษย์อ่านเข้าใจได้ ซึ่งเรียกว่า YAML (Yet Another Markup Language) เพื่ออธิบายทุกอย่าง

ไฟล์นี้เปรียบเสมือนพิมพ์เขียวของแอปพลิเคชันทั้งระบบ

บริการใน Compose คืออะไร

ในไฟล์ docker-compose.yml แต่ละส่วนของแอปพลิเคชันจะเรียกว่า บริการ

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

Compose จัดการเครือข่าย

คุณลักษณะที่ยอดเยี่ยมอย่างหนึ่งของ Docker Compose คือช่วยให้การเชื่อมต่อเครือข่ายระหว่างคอนเทนเนอร์ง่ายขึ้น

ตามค่าเริ่มต้น Compose จะสร้างเครือข่ายเดียวสำหรับบริการทั้งหมดที่กำหนดไว้ในไฟล์ docker-compose.yml

ทำให้บริการต่าง ๆ เช่น เว็บแอปและฐานข้อมูล สื่อสารกันได้ง่ายโดยใช้ชื่อบริการของแต่ละบริการเป็นชื่อโฮสต์

จัดการข้อมูลด้วย Compose

เช่นเดียวกับแอปพลิเคชันที่ใช้คอนเทนเนอร์เดียว แอปพลิเคชันที่มีหลายคอนเทนเนอร์ก็มักต้องใช้ข้อมูลถาวร

Docker Compose ช่วยให้คุณกำหนดและจัดการ โวลุม ภายในไฟล์ docker-compose.yml ได้

วิธีนี้ช่วยให้ข้อมูลฐานข้อมูลของคุณไม่สูญหายเมื่อหยุดหรือลบคอนเทนเนอร์ และช่วยรักษาความถูกต้องครบถ้วนของข้อมูล

ขั้นตอนการทำงานของ Compose แบบง่าย

เมื่อเตรียมไฟล์ docker-compose.yml พร้อมแล้ว การเรียกใช้แอปพลิเคชันทั้งหมดก็ง่ายมาก

เพียงไปยังไดเรกทอรีที่มีไฟล์ดังกล่าว แล้วเรียกใช้คำสั่ง docker compose up

คำสั่งนี้จะสร้าง (หากจำเป็น) สร้างคอนเทนเนอร์ เริ่มทำงาน และเชื่อมต่อกับคอนเทนเนอร์สำหรับบริการทั้งหมดที่กำหนดไว้ในไฟล์

ทำไมต้องใช้ Compose ประโยชน์สำคัญ

Docker Compose มีข้อดีหลายประการ โดยเฉพาะสำหรับสภาพแวดล้อมการพัฒนาและการทดสอบ

  • คำสั่งเดียว: เริ่มต้นหรือหยุดแอปทั้งหมดด้วยคำสั่งเดียว
  • ทำซ้ำได้: ทำให้มั่นใจว่าทุกคนใช้การตั้งค่าเดียวกันทุกประการ
  • แยกจากกัน: บริการต่าง ๆ ทำงานในสภาพแวดล้อมที่แยกจากกัน
  • พัฒนาง่ายขึ้น: เหมาะอย่างยิ่งสำหรับสภาพแวดล้อมการพัฒนาในเครื่องและการทดสอบอย่างรวดเร็ว

ตรวจสอบความเข้าใจ

คุณได้เรียนรู้แนวคิดหลักเบื้องหลัง Docker Compose แล้ว

มาดูกันว่าคุณสามารถระบุจุดประสงค์หลักของ Compose ได้หรือไม่

สรุป: จัดการแอปพลิเคชันของคุณ

ทำได้ดีมากครับ ตอนนี้คุณเข้าใจแนวคิดพื้นฐานของ Docker Compose แล้ว

  • ช่วยให้การเรียกใช้ แอปพลิเคชันที่มีหลายคอนเทนเนอร์ ง่ายขึ้น
  • ใช้ ไฟล์ YAML เดียว (docker-compose.yml) เพื่อกำหนดบริการทั้งหมด
  • จัดการ เครือข่ายและการคงอยู่ของข้อมูล สำหรับบริการต่าง ๆ
  • ทำให้การพัฒนาและนำแอปพลิเคชันที่ซับซ้อนไปใช้งานง่ายขึ้นมาก

ถัดไป คุณจะได้เรียนรู้วิธีเขียนไฟล์ docker-compose.yml แรกของคุณ

คำถามที่พบบ่อย

บทเรียน “Docker Compose คืออะไร” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “Docker Compose คืออะไร” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “Docker Compose คืออะไร”

ทำความเข้าใจจุดประสงค์ของ Docker Compose และวิธีจัดการแอปพลิเคชันที่มีหลายคอนเทนเนอร์ คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “Docker Compose คืออะไร” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม

ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. Docker Compose คืออะไร
  2. การเขียนไฟล์ Compose
  3. การปรับใช้แอปที่มีหลายบริการ
  4. ตัวแปรสภาพแวดล้อมและไฟล์ .env
← กลับไปที่ DevOps Bootcamp