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

พื้นฐานเครือข่ายคอนเทนเนอร์

ทำความเข้าใจเครือข่ายเริ่มต้นของ Docker เครือข่ายแบบบริดจ์ และวิธีที่คอนเทนเนอร์ค้นหากันเอง

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

เหตุใดจึงต้องมีเครือข่ายคอนเทนเนอร์

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

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

พื้นฐานเครือข่ายคอนเทนเนอร์ — ภาพประกอบ 1

เครือข่ายบริดจ์เริ่มต้นของด็อกเกอร์

เมื่อคุณเรียกใช้คอนเทนเนอร์โดยไม่ระบุเครือข่าย ด็อกเกอร์จะเชื่อมต่อคอนเทนเนอร์นั้นกับเครือข่ายบริดจ์เริ่มต้นโดยอัตโนมัติ เครือข่ายนี้มีชื่อว่า bridge

คอนเทนเนอร์ในเครือข่ายนี้สามารถสื่อสารกันโดยใช้ที่อยู่ IP และยังเข้าถึงอินเทอร์เน็ตได้ด้วย

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

คุณสามารถดูเครือข่ายด็อกเกอร์ทั้งหมดที่มีอยู่ในระบบได้อย่างง่ายดาย คำสั่ง docker network ls จะแสดงรายการเครือข่าย และ docker network inspect จะแสดงการกำหนดค่าโดยละเอียดของเครือข่ายที่ระบุ

ลองแสดงรายการเครือข่ายของคุณ:

docker network ls

ที่อยู่ IP ของคอนเทนเนอร์

คอนเทนเนอร์แต่ละรายการที่เชื่อมต่อกับเครือข่ายบริดจ์ (เริ่มต้นหรือกำหนดเอง) จะได้รับที่อยู่ IP เฉพาะของตนเองจากเซิร์ฟเวอร์ DNS ภายในของด็อกเกอร์

ที่อยู่ IP นี้ทำให้คอนเทนเนอร์อื่นในเครือข่ายเดียวกันเข้าถึงคอนเทนเนอร์ดังกล่าวได้ มาดูที่อยู่ IP ของคอนเทนเนอร์กัน:

docker run --rm -it alpine ip a

การสื่อสารบนบริดจ์เริ่มต้น

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

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

เครือข่ายบริดจ์ที่ผู้ใช้กำหนด

เครือข่ายบริดจ์ที่ผู้ใช้กำหนดมีข้อได้เปรียบที่สำคัญเหนือบริดจ์เริ่มต้น:

  • การแก้ไข DNS อัตโนมัติ: คอนเทนเนอร์ในเครือข่ายที่ผู้ใช้กำหนดเดียวกันสามารถค้นหากันด้วยชื่อบริการ (ชื่อคอนเทนเนอร์)
  • การแยกที่ดียิ่งขึ้น: ช่วยแยกแอปพลิเคชันของคุณออกจากกันได้ดียิ่งขึ้น
  • การกำหนดค่าได้ยืดหยุ่น: คุณควบคุมการตั้งค่าเครือข่ายได้มากขึ้น

สาธิต: สื่อสารด้วยชื่อ

มาสร้างเครือข่ายแบบกำหนดเอง เรียกใช้เว็บเซิร์ฟเวอร์ Nginx บนเครือข่ายนั้น แล้วใช้คอนเทนเนอร์อีกตัวเข้าถึงเซิร์ฟเวอร์ Nginx ด้วยชื่อของมันกัน ดูสิว่าทำได้ง่ายเพียงใด

docker network create my-app-net
docker run -d --name webserver --network my-app-net nginx
docker run --rm --network my-app-net alpine sh -c "apk add curl && curl -s http://webserver"
docker rm -f webserver
docker network rm my-app-net

การเปิดเผยพอร์ตให้โฮสต์

หากต้องการเข้าถึงบริการของคอนเทนเนอร์จากเครื่องโฮสต์หรือเครือข่ายภายนอก คุณต้อง 'เผยแพร่' หรือ 'แมป' พอร์ตของคอนเทนเนอร์โดยใช้แฟล็ก -p หรือ --publish

ตัวอย่างเช่น -p 8080:80 จะแมปพอร์ต 8080 ของโฮสต์กับพอร์ต 80 ของคอนเทนเนอร์

docker run -d --name my-webserver -p 8080:80 nginx
# To check, open http://localhost:8080 in your browser
# Then, clean up the container:
docker rm -f my-webserver

ไดรเวอร์เครือข่ายอื่น ๆ

นอกเหนือจากเครือข่ายบริดจ์แล้ว ด็อกเกอร์ยังมีไดรเวอร์เครือข่ายอื่นสำหรับกรณีใช้งานเฉพาะ:

  • โฮสต์: คอนเทนเนอร์ใช้ชุดเครือข่ายร่วมกับโฮสต์ ทำให้สูญเสียการแยกออกจากกัน
  • ไม่มี: คอนเทนเนอร์ไม่มีอินเทอร์เฟซเครือข่าย
  • โอเวอร์เลย์: ใช้กับ Docker Swarm เพื่อให้สื่อสารระหว่างดีมอนด็อกเกอร์หลายตัวบนโฮสต์ต่างกันได้

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

โจทย์ท้าทายเรื่องเครือข่าย

ข้อความใดบ้างเกี่ยวกับเครือข่าย bridge เริ่มต้นของด็อกเกอร์และเครือข่ายบริดจ์ที่ผู้ใช้กำหนดที่เป็นจริง

สรุป: พื้นฐานเครือข่าย

เราได้ครอบคลุมพื้นฐานสำคัญของเครือข่ายด็อกเกอร์แล้ว:

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

ความเข้าใจเรื่องเครือข่ายมีความสำคัญอย่างยิ่งต่อการสร้างแอปพลิเคชันแบบคอนเทนเนอร์ที่เชื่อมต่อถึงกัน บทถัดไป เราจะลงลึกเรื่องการจัดการข้อมูลถาวรด้วย Docker Volumes

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

บทเรียน “พื้นฐานเครือข่ายคอนเทนเนอร์” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “พื้นฐานเครือข่ายคอนเทนเนอร์”

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

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

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

บทเรียน “พื้นฐานเครือข่ายคอนเทนเนอร์” ใช้เวลานานแค่ไหน

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

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

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

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

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