‫มาร์ตี้ถาม เครือข่ายนักเทียบท่าไม่ได้แบ่งกลุ่มจากเครือข่ายสาธารณะของโฮสต์สแลช
‫ดูเหมือนว่าเพื่อนร่วมงานจะคิดว่าช่วง IP ในสภาพแวดล้อม Docker ของเราอาจทำให้เกิดความขัดแย้งกับเครือข่ายบริษัทปกติของเรา
‫นั่นเป็นคำถามที่ดีจริงๆ
‫คำตอบสำหรับข้อแรกคือใช่
‫ด็อกเกอร์.
‫ดังนั้นโดยค่าเริ่มต้น คุณกำลังใช้ไดรเวอร์เครือข่าย Docker และไดรเวอร์เริ่มต้นคือบริดจ์
‫หากคุณใช้ swarm ค่าดีฟอลต์คือโอเวอร์เลย์ และแน่นอน คุณสามารถใช้ไดรเวอร์เครือข่ายอื่นๆ
‫ได้ หากคุณเห็นฉันกระโดดเข้ามาที่นี่ และฉันเพิ่งทำเครือข่ายนักเทียบท่า ls โอ้ Docker ของฉันไม่ทำงาน
‫โอ้ แล้วดูว่ามี เวอร์ชันใหม่ของ Docker ออก ไม่ ฉันไม่ต้องการอัปเดตในวันนี้
‫ให้เวลาฉันสักครู่เพื่อให้ Docker เริ่ม
‫แต่มีรายการไดรเวอร์เครือข่าย Docker ที่ออกมาจากกล่อง และคุณเลือกไดรฟ์บริดจ์เริ่มต้นเพียงตัวเดียวโดยสร้างเครือข่ายนักเทียบท่าหรือไม่ได้ระบุเครือข่ายและไม่ใช้บริดจ์
‫พวกเราส่วนใหญ่ในการผลิตจะใช้เครือข่ายอื่นเช่น swarm overlay หรือ Kubernetes จะมีไดรเวอร์เครือข่ายของตัวเอง
‫มีอย่างอื่นเช่นโฮสต์และ Mac v lan ที่คุณสามารถใช้ได้เช่นกันในทางเทคนิคคุณยังสามารถใช้ไม่มีใครที่จะปิดการใช้งานเครือข่าย
‫แต่สิ่งที่นี่คือถ้าคุณกำลังพูดถึงเครือข่ายบริดจ์เริ่มต้นซึ่งอาจไม่ใช่สิ่งที่คุณ
‫' จะใช้ในการผลิตที่เป็นเซ็กเมนต์เน็ตเวิร์กสุทธิ ดังนั้นมันจึงเป็นช่วงซับเน็ตของตัวเอง
‫และมันทำงานในโหมดบริดจ์ นั่นหมายความว่าแนทจะไปนอกซับเน็ตส่วนตัวนั้นในเครือข่ายบริษัทของคุณ
‫แม้ว่าจะไม่ขัดแย้งในทางเทคนิคกับเครือข่ายทางกายภาพสุทธิของคุณ คุณก็ไม่สามารถมีเครือข่ายย่อยเดียวกันกับที่ใช้ภายนอกโฮสต์ของคุณได้
‫และนั่นเป็นเพราะการกำหนดเส้นทาง TCP IP มาตรฐานเท่านั้น
‫ดังนั้น หากคุณปฏิบัติตามรายละเอียดการกำหนดเส้นทางโปรโตคอล IP โดยพื้นฐานแล้ว ถ้าฉันใช้เครือข่ายย่อย 10 0 0 0 บนคอนเทนเนอร์นักเทียบท่าของฉันภายใน
‫Docker จากนั้นเครือข่ายย่อย 10 จุด 0 1 จะถูกใช้ที่ไหนสักแห่งในเครือข่ายองค์กรของฉัน เครื่องท้องถิ่นของฉันไม่ทราบวิธีกำหนดเส้นทางไปยังเครือข่ายนั้นเพราะคิดว่าเครือข่ายนั้นเป็นส่วนหนึ่งของเครือข่ายย่อยในพื้นที่ของฉันแล้ว
‫ถูกต้อง.
‫ดังนั้นในทางเทคนิคคุณไม่สามารถมีซับเน็ตที่ขัดแย้งกันได้ทุกที่ในการกระโดดของคอนเทนเนอร์ดังนั้นแม้ว่าในทางเทคนิคแล้ว
‫Nats จะยังคงก่อให้เกิดปัญหาและในความเป็นจริงกับบางบริษัทเนื่องจากเครือข่ายนักเทียบท่านอกกรอบมักจะมี 172 ซับเน็ตและบางครั้ง
‫บริษัท ทับซ้อนเครือข่ายย่อยเหล่านั้นและทำให้เกิดปัญหาซึ่งหมายความว่า
‫บริษัท ต้องเข้าสู่การตั้งค่า Docker เช่นการขึ้นที่นี่ในการตั้งค่าและพวกเขาจะไปที่การกำหนดค่า daemon และดูว่าฉันไม่คิดว่าเป็น 7 ตัวเลือกนั้น ยังเห็น ว่าวันหนึ่งฉันเห็น
‫โอ้ใช่.
‫นี่คือซับเน็ตเริ่มต้นที่นี่
‫อาจมองเห็นได้ยากเล็กน้อยบนหน้าจอ แต่เป็นเอนทิตี 168 65 ซับเน็ตและของฉัน และคุณสามารถเปลี่ยนได้
‫แต่คุณอาจต้องเปลี่ยนค่าเริ่มต้นอื่น ๆ ภายในการกำหนดค่า daemon ที่นี่ภายใต้ขั้นสูง
‫ขึ้นอยู่กับว่าใช้การซ้อนทับแบบฝูงหรือใช้ สะพานเริ่มต้นและอื่น ๆ
‫ใช่ มันเป็นไปได้
‫และโดยพื้นฐานแล้ว ถ้าคุณไม่แน่ใจ แค่ทดสอบสร้างคอนเทนเนอร์ ดูว่าคุณสามารถลอง ping บางอย่างในเครือข่ายของคุณได้หรือไม่
‫ด้วยวิธีแรกที่คนทั่วไปบอกว่านี่เป็นปัญหาคือพวกเขาสร้างคอนเทนเนอร์บนเครื่องของเราแล้วอาจมีภาคต่อ
‫เซิร์ฟเวอร์หรือบางอย่างในศูนย์ข้อมูลหรือในตู้เซิร์ฟเวอร์ที่พวกเขาต้องการเข้าถึง
‫ดังนั้นพวกเขาจึงพยายามดึงจากคอนเทนเนอร์ไปยังเครื่องนั้นและไม่สามารถเชื่อมต่อได้เลย
‫ให้พวกเขาบ้างขึ้นอยู่กับว่าคุณรู้จักแอปพลิเคชันและสิ่งที่คุณใช้อยู่อาจทำให้คุณมีข้อผิดพลาด
‫ดังนั้นลอง ping พยายามติดตามเส้นทางเพิ่มยูทิลิตี้เหล่านั้นลงในคอนเทนเนอร์และดูว่าคุณสามารถติดตามเส้นทางหรือ
‫ping ไปยังที่อยู่ IP ระยะไกลนั้นได้หรือไม่ เพราะแน่นอนว่าคุณไม่ใช่คนที่จัดการซับเน็ตทั้งหมดในบริษัทของคุณ
‫ไม่ทราบว่าทุกซับเน็ตใช้กันทั่วเครือข่าย
‫อีกอย่างคือถ้าคุณใช้คลาวด์เหมือนใช้ Ada of U เอส ซับเน็ตและบริษัทของคุณอาจเป็นส่วนหนึ่งของโครงสร้างพื้นฐานของพวกเขาที่นั่น
‫และคุณมี VPN ระหว่างคุณกับเราแปดคน จากนั้นคุณต้องดูแลซับเน็ตใน Ada U ด้วย
‫เอส และจะปะทะกันด้วยหรือไม่
‫ดังนั้นโดยพื้นฐานแล้วซับเน็ตของ Docker แม้ว่าจะไม่จำเป็น แต่ก็ไม่ได้ช่วยแก้ปัญหาในการดึงแพ็กเก็ตออกมามากกว่าซับเน็ตอื่นๆ
‫ในเครือข่ายของคุณ
‫โดยทั่วไปคุณไม่สามารถใช้งานได้
‫คุณไม่ควรใช้และอาจไม่สามารถใช้เครือข่ายย่อยสองเครือข่ายเดียวกันได้ทุกที่ในเครือข่ายของคุณ
‫มันอาจจะอนุญาตให้คุณรับแพ็กเก็ตเข้ามาได้ เพราะในทางเทคนิคแล้ว แพ็กเก็ตที่เข้ามานั้นรู้วิธีไปที่เครื่องของคุณ
‫เพราะคุณต้องการ แต่เมื่อคุณพยายามส่งแพ็กเก็ตกลับออก เครื่องของคุณอาจบอกว่า เฮ้ ฉันไม่ต้องการเมือง แพ็กเก็ตออกเพราะที่อยู่
‫IP นั้นอยู่ในเครือข่ายย่อยในพื้นที่ของฉันหรืออย่างน้อยก็คิดว่ามันเป็น
‫ถูกต้อง.
‫หวังเป็นอย่างยิ่งว่า
‫นั่นเป็นเพียงข้อ จำกัด บางประการของหัวข้อย่อย IP และใช่คุณอาจต้องเปลี่ยนสิ่งนั้น