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

บริการกับคอนเทนเนอร์
ลองนึกภาพดังนี้
- คอนเทนเนอร์คืออินสแตนซ์เดียวของแอปพลิเคชัน
- บริการคือแบบร่างสำหรับเรียกใช้คอนเทนเนอร์ที่เหมือนกันหนึ่งรายการขึ้นไป (เรียกว่า งาน) ทั่วทั้ง Swarm
บริการช่วยให้มีความพร้อมใช้งานสูงและปรับขนาดได้ โดยกระจายงานและจัดการความล้มเหลวโดยอัตโนมัติ
การปรับใช้บริการแรกของคุณ
คำสั่ง docker service create ใช้สำหรับปรับใช้แอปพลิเคชันเป็นบริการในคลัสเตอร์ Swarm ของคุณ มาสร้างบริการเซิร์ฟเวอร์เว็บ Nginx แบบง่ายกัน
ลองเรียกใช้ตัวอย่างนี้
docker service create \
--name my-web-app \
-p 80:80 \
--replicas 1 \
nginxทำความเข้าใจการสร้างบริการ
มาดูรายละเอียดคำสั่งที่เราเพิ่งใช้กัน
--name my-web-app: ตั้งชื่อที่จดจำได้ง่ายให้บริการ-p 80:80: แมปพอร์ต 80 บนโหนด Swarm ไปยังพอร์ต 80 ภายในคอนเทนเนอร์--replicas 1: บอกให้ Swarm ดูแลให้อินสแตนซ์ที่กำลังทำงานของบริการนี้มีหนึ่งรายการ (งาน)nginx: ระบุอิมเมจ Docker ที่จะใช้สำหรับงานของบริการ
การตรวจสอบบริการของคุณ
หลังจากสร้างบริการแล้ว คุณควรตรวจสอบสถานะและดูงานที่กำลังทำงานอยู่ ใช้คำสั่งเหล่านี้
docker service ls: แสดงรายการบริการทั้งหมดใน Swarmdocker service ps <service_name>: แสดงงานแต่ละรายการ (คอนเทนเนอร์) ที่เชื่อมโยงกับบริการ
docker service ls
docker service ps my-web-appการเพิ่มขนาดบริการของคุณ
ประโยชน์สำคัญประการหนึ่งของ Docker Swarm คือการปรับขนาดได้ง่าย คุณสามารถเพิ่มจำนวนอินสแตนซ์ที่กำลังทำงาน (แบบจำลอง) ของบริการได้ด้วยคำสั่งเดียว
มาปรับขนาด my-web-app เป็นแบบจำลองสามรายการกัน
docker service scale my-web-app=3การลดขนาดบริการของคุณ
เช่นเดียวกัน คุณสามารถลดขนาดบริการเพื่อใช้ทรัพยากรน้อยลงหรือจัดการปริมาณการรับส่งข้อมูล Swarm จะหยุดคอนเทนเนอร์ส่วนเกินอย่างเรียบร้อย โดยยังคงให้คอนเทนเนอร์ที่เหลือทำงานต่อ
มาลดขนาด my-web-app กลับเหลือแบบจำลองหนึ่งรายการกัน
docker service scale my-web-app=1การอัปเดตบริการ
เมื่อคุณต้องการปรับใช้แอปพลิเคชันเวอร์ชันใหม่หรือเปลี่ยนการตั้งค่าบริการ docker service update จะดำเนินการ อัปเดตแบบทยอย Swarm จะอัปเดตงานทีละรายการ เพื่อให้แอปพลิเคชันยังคงพร้อมใช้งาน
มาอัปเดตบริการ Nginx ของเราเป็นเวอร์ชันที่ระบุไว้กัน
docker service update --image nginx:1.25 my-web-appการนำบริการออก
เมื่อไม่จำเป็นต้องใช้บริการอีกต่อไป คุณสามารถนำบริการนั้นออกจาก Swarm ได้ การดำเนินการนี้จะหยุดงานที่เกี่ยวข้องทั้งหมดและลบคำจำกัดความของบริการออกจากคลัสเตอร์
หากต้องการนำบริการเว็บตัวอย่างของเราออก
docker service rm my-web-appแบบทดสอบการจัดการบริการ
คุณมีบริการชื่อ my-backend ที่กำลังทำงานด้วยแบบจำลอง 3 รายการและใช้อิมเมจ my-backend:v1 คุณต้องอัปเดตให้ใช้อิมเมจใหม่ my-backend:v2 และเพิ่มจำนวนแบบจำลองเป็น 5 รายการ
ทบทวน: บริการ Swarm
ทำได้ดีมาก คุณได้เรียนรู้พื้นฐานสำคัญของการปรับใช้และจัดการแอปพลิเคชันในรูปแบบบริการบน Docker Swarm แล้ว
- บริการกำหนดสถานะที่ต้องการสำหรับแอปพลิเคชันในคอนเทนเนอร์
- คุณได้เรียนรู้การสร้างบริการด้วย
docker service create - เราได้ครอบคลุมการตรวจสอบ การปรับขนาด (
docker service scale) และการอัปเดต (docker service update) บริการ - สุดท้าย คุณสามารถนำบริการออกได้ด้วย
docker service rm
บริการเป็นพื้นฐานสำคัญสำหรับการสร้างแอปพลิเคชันที่ปรับขนาดได้และทนทานในคลัสเตอร์ Swarm
คำถามที่พบบ่อย
บทเรียน “การปรับใช้บริการใน Swarm” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การปรับใช้บริการใน Swarm” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การปรับใช้บริการใน Swarm”
ปรับใช้และขยายแอปพลิเคชันในคอนเทนเนอร์เป็นบริการบนคลัสเตอร์ Swarm พร้อมจัดการวงจรชีวิตของบริการ คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “การปรับใช้บริการใน Swarm” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม
ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- บทนำสู่ Docker Swarm
- การตั้งค่าคลัสเตอร์ Swarm
- การปรับใช้บริการใน Swarm
- การปรับขนาดและการอัปเดตแบบทยอยใน Swarm