ตัวเลือก “–net=host” ในคำสั่ง Docker ทำอะไรได้บ้าง

Taw Leuxk Net Host Ni Kha Sang Docker Tha Xari Di Bang



นักเทียบท่าเป็นฟอรัมโอเพ่นซอร์สและเป็นที่ยอมรับ ซึ่งมักใช้เพื่อสร้าง ดำเนินการ และแจกจ่ายแอปพลิเคชันในคอนเทนเนอร์ คอนเทนเนอร์เป็นแพ็คเกจปฏิบัติการที่ห่อหุ้มการขึ้นต่อกันของแอปพลิเคชันและรหัส ในการปรับใช้แอปพลิเคชันคอนเทนเนอร์ คุณสามารถเรียกใช้คอนเทนเนอร์เหล่านี้บนเครือข่ายต่างๆ เช่น โฮสต์ บริดจ์ หรือเครือข่ายที่ผู้ใช้กำหนด

บทความนี้จะกล่าวถึงสิ่งที่ “ –net=โฮสต์ ” ตัวเลือกทำในคำสั่ง Docker

ตัวเลือก “–net=host” ทำอะไรในคำสั่ง Docker

-สุทธิ ” ตัวเลือกใน “ เรียกใช้นักเทียบท่า คำสั่ง ” ใช้เพื่อระบุเครือข่ายสำหรับคอนเทนเนอร์ Docker ตามค่าเริ่มต้น คอนเทนเนอร์กำลังทำงานบนเครือข่ายบริดจ์ อย่างไรก็ตาม ' –net=โฮสต์ ” สามารถใช้ตัวเลือกนี้เพื่อดำเนินการคอนเทนเนอร์บนเครือข่ายโฮสต์ ทำให้คอนเทนเนอร์ Docker สามารถเข้าถึงเครือข่ายได้มากกว่าปกติ







วิธีดำเนินการคำสั่ง 'docker run' โดยมีและไม่มีตัวเลือก '–net=host'

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



จะใช้คำสั่ง “docker run” โดยไม่มีตัวเลือก “–net-host” ได้อย่างไร?

ตามค่าเริ่มต้น แพลตฟอร์ม Docker จะมีสามเครือข่าย: “ สะพาน ”, “ เจ้าภาพ ', และ ' ไม่มี '. หากต้องการแสดงรายการเครือข่ายทั้งหมด โปรดดูตัวอย่างด้านล่าง:



> เครือข่ายนักเทียบท่า





เมื่อคอนเทนเนอร์ถูกเรียกใช้งานโดยไม่ระบุเครือข่ายใดๆ ตามค่าเริ่มต้น คอนเทนเนอร์จะใช้การเชื่อมโยงเครือข่าย สำหรับการสาธิต โปรดดูขั้นตอนด้านล่าง

ขั้นตอนที่ 1: สร้าง Dockerfile

สร้าง Dockerfile เพื่อบรรจุ ' โกลัง ” โปรแกรมและวางคำแนะนำที่กำหนดลงในไฟล์:



จากโกลัง: 1.8

เวิร์คดีอาร์ / ไป / src / แอป

คัดลอก main.go

RUN ไปสร้าง -O เว็บเซิร์ฟเวอร์ .

เปิดเผย 8080 : 8080

ซม [ './เว็บเซิร์ฟเวอร์' ]

ขั้นตอนที่ 2: สร้างอิมเมจนักเทียบท่า

จากนั้น สร้างอิมเมจจาก Dockerfile โดยใช้คำสั่งที่ให้ไว้ “ -t ตัวเลือก ” ในคำสั่งด้านล่างระบุชื่อภาพ:

> สร้างนักเทียบท่า -t go-img

ขั้นตอนที่ 3: เรียกใช้ Docker Container

ใช้ “ เรียกใช้นักเทียบท่า ” คำสั่งเพื่อเรียกใช้คอนเทนเนอร์บนเครือข่ายที่เลือกเริ่มต้น “ -d ” ตัวเลือกดำเนินการคอนเทนเนอร์ในโหมดเดี่ยว:

> เรียกใช้นักเทียบท่า -d go-img

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

> นักเทียบท่า ปล -ก

หากเอาต์พุตแสดงพอร์ตใด ๆ ที่เปิดเผยเช่น “ tcp/<พอร์ต> ” หมายความว่าคอนเทนเนอร์กำลังทำงานบนเครือข่ายเริ่มต้นและหากไม่มีเอาต์พุตใน “ พอร์ต ” คอลัมน์หรือผลลัพธ์เช่น “ 0.0.0.0:8080→8080/tcp ” หมายความว่าคอนเทนเนอร์กำลังดำเนินการบนโฮสต์:

จากเอาต์พุตด้านบน คุณจะเห็นว่าคอนเทนเนอร์ของเรากำลังดำเนินการบนเครือข่ายที่เลือกโดยค่าเริ่มต้น “ สะพาน '.

จะใช้คำสั่ง “docker run” ด้วยตัวเลือก “–net-host” ได้อย่างไร?

ในการดำเนินการคอนเทนเนอร์บนเครือข่ายโฮสต์ ให้ใช้ ' –net=โฮสต์ ” ตัวเลือกที่แสดงด้านล่าง:

> เรียกใช้นักเทียบท่า -d --สุทธิ =โฮสต์ go-img

สำหรับการตรวจสอบ ให้ระบุรายการคอนเทนเนอร์ทั้งหมด ที่นี่ไม่มีเอาต์พุตแสดงใน ' พอร์ต ” ซึ่งหมายความว่าคอนเทนเนอร์ของเรากำลังประมวลผลบนเครือข่ายโฮสต์และสามารถเข้าถึงได้จากพอร์ตใดก็ได้ของเครือข่ายโฮสต์:

> นักเทียบท่า ปล -ก

นี่คือทั้งหมดที่เกี่ยวกับสิ่งที่ “ –net=โฮสต์ ” ตัวเลือกและวิธีการใช้งานใน Docker

บทสรุป

–net=โฮสต์ ” ตัวเลือกนี้ใช้เพื่อดำเนินการคอนเทนเนอร์ Docker บนเครือข่ายโฮสต์ หากไม่ได้ระบุตัวเลือกนี้ไว้ใน ' เรียกใช้นักเทียบท่า ” คำสั่ง หมายถึงคอนเทนเนอร์จะทำงานบนเครือข่ายบริดจ์ ในการเรียกใช้คอนเทนเนอร์บนโฮสต์ ให้ใช้ ' นักเทียบท่าเรียกใช้ –net=option ' สั่งการ. บทความนี้ได้แสดงให้เห็นว่า “ –net=โฮสต์ ” ตัวเลือกทำในคำสั่ง Docker