`docker0` ที่นั่นคืออะไร?
ฉันอ่านเอกสารเกี่ยวกับdockerโหมดเครือข่าย
มีการแสดงมีdocker0และeth1บนโฮสต์
ฉันมีคำถามเกี่ยวกับเรื่องนี้คืออะไรdocker0? มันเป็นอินเทอร์เฟซหรือสะพาน? ถ้าเป็นอินเทอร์เฟซก็ควรมี IP address ที่สื่อสาร172.17.0.2ได้ใช่ไหม?
คำตอบ
คุณสามารถดูตัวอย่าง docker0 ที่อธิบายไว้ในบทความนี้ :
สะพาน docker0 เป็นอินเตอร์เฟซเสมือนที่สร้างขึ้นโดยนักเทียบท่าก็สุ่มเลือกที่อยู่และเครือข่ายย่อยจากช่วงส่วนตัวที่กำหนดโดย RFC 1918
docker0ที่ไม่ได้อยู่ในการใช้งานบนเครื่องโฮสต์และกำหนดมันคอนเทนเนอร์นักเทียบท่าทั้งหมดจะเชื่อมต่อกับสะพานเทียบท่าเทียบเรือตามค่าเริ่มต้นคอนเทนเนอร์นักเทียบท่าที่เชื่อมต่อกับ
docker0สะพานสามารถใช้กฎ NAT ของ iptables ที่นักเทียบท่าสร้างขึ้นเพื่อสื่อสารกับโลกภายนอก
โดยค่าเริ่มต้น Docker จะแนบคอนเทนเนอร์ทั้งหมดเข้ากับสะพาน docker0 ดังนั้นคุณไม่จำเป็นต้องระบุแฟล็กเพิ่มเติมใด ๆ ด้วยคำสั่ง docker run เพื่อเชื่อมต่อคอนเทนเนอร์นักเทียบท่ากับ
docker0บริดจ์เว้นแต่DOCKER_OPTSไฟล์คอนฟิกูเรชัน in docker จะระบุอย่างชัดเจนให้ใช้เครือข่ายอื่นที่ไม่ใช่docker0บริดจ์ ในกรณีนี้คุณสามารถใช้–net=bridgeกับคำสั่ง docker run เพื่อเชื่อมต่อคอนเทนเนอร์เข้ากับdocker0บริดจ์
โปรดดู " ความสัมพันธ์ระหว่างdocker0และeth0อะไร "