บทความนี้จะกล่าวถึงสิ่งที่ “ –net=โฮสต์ ” ตัวเลือกทำในคำสั่ง Docker
ตัวเลือก “–net=host” ทำอะไรในคำสั่ง Docker
“ -สุทธิ ” ตัวเลือกใน “ เรียกใช้นักเทียบท่า คำสั่ง ” ใช้เพื่อระบุเครือข่ายสำหรับคอนเทนเนอร์ Docker ตามค่าเริ่มต้น คอนเทนเนอร์กำลังทำงานบนเครือข่ายบริดจ์ อย่างไรก็ตาม ' –net=โฮสต์ ” สามารถใช้ตัวเลือกนี้เพื่อดำเนินการคอนเทนเนอร์บนเครือข่ายโฮสต์ ทำให้คอนเทนเนอร์ Docker สามารถเข้าถึงเครือข่ายได้มากกว่าปกติ
วิธีดำเนินการคำสั่ง 'docker run' โดยมีและไม่มีตัวเลือก '–net=host'
หากต้องการตรวจสอบความแตกต่างระหว่างคอนเทนเนอร์ที่ทำงานบนเครือข่ายเริ่มต้นและเครือข่ายโฮสต์ ให้ดูตัวอย่างที่แสดงรายการ:
- ใช้ ' เรียกใช้นักเทียบท่า ” คำสั่งโดยไม่ต้อง “ –net-โฮสต์ ' ตัวเลือก.
- ใช้ ' เรียกใช้นักเทียบท่า ” สั่งการด้วย “ –net-โฮสต์ ' ตัวเลือก.
จะใช้คำสั่ง “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