Docker & DevOps Fundamentals · บทเรียน

เครือข่ายบริดจ์แบบกำหนดเองและการค้นหาบริการ

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

บทเรียน 4 จาก 413 ขั้นตอน

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

เหตุใดจึงต้องใช้เครือข่ายแบบกำหนดเอง

เครือข่าย bridge เริ่มต้นใช้งานได้ แต่คอนเทนเนอร์ที่อยู่บนเครือข่ายนี้จะเข้าถึงกันได้ด้วยที่อยู่ IP เท่านั้น ส่วน เครือข่าย bridge ที่ผู้ใช้กำหนด จะเพิ่มการค้นหาบริการด้วย DNS อัตโนมัติ ทำให้คอนเทนเนอร์เข้าถึงกันได้ด้วย ชื่อ

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

การแสดงรายการเครือข่ายที่มีอยู่

Docker มาพร้อมเครือข่ายเริ่มต้นสามรายการ ตรวจสอบด้วย docker network ls ก่อนสร้างเครือข่ายของคุณเอง

docker network ls

การสร้างเครือข่าย Bridge

ใช้ docker network create หากไม่ระบุแฟล็กไดรเวอร์ Docker จะใช้ไดรเวอร์ bridge เป็นค่าเริ่มต้น ซึ่งเหมาะสำหรับคอนเทนเนอร์บนโฮสต์เดียว

docker network create app-net

การตรวจสอบเครือข่าย

docker network inspect จะแสดงซับเน็ต เกตเวย์ และคอนเทนเนอร์ที่แนบอยู่ในรูปแบบ JSON มีประโยชน์สำหรับการแก้ไขปัญหาช่วงที่อยู่ IP

docker network inspect app-net

การเรียกใช้คอนเทนเนอร์บนเครือข่าย

แนบคอนเทนเนอร์เมื่อเริ่มทำงานด้วย --network ในตัวอย่างนี้ เราจะเรียกใช้คอนเทนเนอร์ Redis ที่คอนเทนเนอร์อื่นจะค้นพบได้ด้วยชื่อ

docker run -d --name cache --network app-net redis:7

การค้นหาด้วยชื่อ

บนเครือข่ายที่ผู้ใช้กำหนด ชื่อ คอนเทนเนอร์จะถูกแปลงเป็นที่อยู่ผ่าน DNS ของ Docker แอปเพียงเชื่อมต่อกับโฮสต์ cache ที่พอร์ต 6379 แทนการค้นหาที่อยู่ IP

docker run -it --network app-net alpine ping -c 2 cache

ชื่อแฝงของเครือข่าย

เพิ่มชื่อ DNS ให้คอนเทนเนอร์ด้วย --network-alias ซึ่งมีประโยชน์เมื่อมีคอนเทนเนอร์หลายตัวตอบสนองต่อชื่อเชิงตรรกะเดียวกันผ่านการกระจายแบบวนรอบ

docker run -d --network app-net --network-alias db postgres:16

การแนบคอนเทนเนอร์ที่กำลังทำงาน

คุณไม่จำเป็นต้องตัดสินใจทุกอย่างตั้งแต่เริ่มทำงาน docker network connect ใช้แนบคอนเทนเนอร์ที่กำลังทำงานอยู่เข้ากับเครือข่ายอื่น

docker network connect app-net web

การถอดคอนเทนเนอร์ออกจากเครือข่าย

ในทางกลับกัน docker network disconnect จะนำคอนเทนเนอร์ออกจากเครือข่ายโดยไม่หยุดการทำงานของคอนเทนเนอร์

docker network disconnect app-net web

การเปิดเผยพอร์ตกับการเผยแพร่พอร์ต

คอนเทนเนอร์บนเครือข่ายแบบกำหนดเองเดียวกันสามารถสื่อสารกันได้อย่างอิสระผ่านพอร์ตใดก็ได้ หากต้องการเข้าถึงบริการจาก โฮสต์ ให้เผยแพร่พอร์ตด้วย -p hostPort:containerPort

docker run -d --network app-net -p 8080:80 nginx

การล้างเครือข่าย

ลบเครือข่ายที่ไม่ได้ใช้ด้วย docker network rm หรือลบเครือข่ายที่ไม่ได้ใช้ทั้งหมดพร้อมกัน เครือข่ายที่มีคอนเทนเนอร์แนบอยู่จะลบไม่ได้จนกว่าจะนำคอนเทนเนอร์เหล่านั้นออก

docker network prune -f

ตรวจสอบอย่างรวดเร็ว

ทดสอบความเข้าใจเกี่ยวกับการค้นหาบริการ

สรุป

คุณได้เรียนรู้วิธีสร้างและจัดการ เครือข่าย bridge แบบกำหนดเอง:

  • docker network create สร้างเครือข่ายแยกที่มี DNS
  • คอนเทนเนอร์เข้าถึงกันได้ด้วย ชื่อ หรือ --network-alias
  • connect/disconnect ใช้แนบและถอดคอนเทนเนอร์ขณะทำงาน
  • เผยแพร่พอร์ตด้วย -p และลบเครือข่ายที่ไม่ได้ใช้

การค้นหาบริการด้วยชื่อเป็นพื้นฐานที่ Compose สร้างให้โดยอัตโนมัติ

เริ่มต้นได้ฟรี

เรียนรู้ Docker & DevOps Fundamentals ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
12
บทเรียน
48

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

บทเรียน “เครือข่ายบริดจ์แบบกำหนดเองและการค้นหาบริการ” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “เครือข่ายบริดจ์แบบกำหนดเองและการค้นหาบริการ”

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

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

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

บทเรียน “เครือข่ายบริดจ์แบบกำหนดเองและการค้นหาบริการ” ใช้เวลานานแค่ไหน

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

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

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

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

  1. พื้นฐานเครือข่ายคอนเทนเนอร์
  2. Docker Volume เพื่อการคงอยู่ของข้อมูล
  3. Bind Mount และ tmpfs Mount
  4. เครือข่ายบริดจ์แบบกำหนดเองและการค้นหาบริการ
← กลับไปที่ Docker & DevOps Fundamentals