การเชื่อมต่อตู้คอนเทนเนอร์หาง
ในหน้าของเราเพื่อให้บรรลุการเข้าถึงเครือข่ายผ่านทางพอร์ตที่มีการดำเนินงานในการให้บริการตู้คอนเทนเนอร์นักเทียบท่า ลองเชื่อมต่อกับพอร์ตภาชนะนักเทียบท่า
ทำแผนที่เครือข่ายพอร์ต
เราได้สร้างโปรแกรมประยุกต์คอนเทนเนอร์หลาม
w3big@w3big:~$ docker run -d -P training/webapp python app.py fce072cc88cee71b1cdceb57c2821d054a4a59f67da6b416fceb5593f059fc6d
นอกจากนี้เราสามารถระบุภาชนะที่อยู่เครือข่ายที่มีผลผูกพันเช่น 127.0.0.1 ผูกพัน
เราใช้พารามิเตอร์ -P เพื่อสร้างภาชนะที่ใช้นักเทียบท่าพอร์ต PS 5000 ถูกผูกไว้เพื่อดู 32768 พอร์ตของโฮสต์
w3big@w3big:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fce072cc88ce training/webapp "python app.py" 4 minutes ago Up 4 minutes 0.0.0.0:32768->5000/tcp grave_hopper
นอกจากนี้เรายังสามารถใช้ธง -p เพื่อระบุพอร์ตภาชนะที่ถูกผูกไว้กับพอร์ตโฮสต์
ความแตกต่างระหว่างสองวิธี:
- -P: ถูกแมปไปภายในของพอร์ตภาชนะพอร์ตสูงสุ่มบนโฮสต์
- -p: ภายในพอร์ตภาชนะที่ถูกผูกไว้กับพอร์ตโฮสต์ที่ระบุ
w3big@w3big:~$ docker run -d -p 5000:5000 training/webapp python app.py 33e4523d30aaf0258915c368e66e03b49535de0ef20317d3f639d40222ba6bc0
w3big@w3big:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 33e4523d30aa training/webapp "python app.py" About a minute ago Up About a minute 0.0.0.0:5000->5000/tcp berserk_bartik fce072cc88ce training/webapp "python app.py" 8 minutes ago Up 8 minutes 0.0.0.0:32768->5000/tcp grave_hopper
นอกจากนี้เราสามารถระบุภาชนะที่อยู่เครือข่ายที่มีผลผูกพันเช่น 127.0.0.1 ผูกพัน
w3big@w3big:~$ docker run -d -p 127.0.0.1:5001:5002 training/webapp python app.py 95c6ceef88ca3e71eaf303c2833fd6701d8d1b2572b5613b5a932dfdfe8a857c w3big@w3big:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 95c6ceef88ca training/webapp "python app.py" 6 seconds ago Up 6 seconds 5000/tcp, 127.0.0.1:5001->5002/tcp adoring_stonebraker 33e4523d30aa training/webapp "python app.py" 3 minutes ago Up 3 minutes 0.0.0.0:5000->5000/tcp berserk_bartik fce072cc88ce training/webapp "python app.py" 10 minutes ago Up 10 minutes 0.0.0.0:32768->5000/tcp grave_hopper
เพื่อให้เราสามารถเข้าถึงภาชนะผ่านพอร์ตการเข้าถึง 127.0.0.1:5001 5002
ตัวอย่างข้างต้นเริ่มต้นคือการผูกพอร์ต TCP ถ้าคุณต้องการที่จะผูกพอร์ต UPD พอร์ตหลังบวก / UDP
w3big@w3big:~$ docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py 6779686f06f6204579c1d655dd8b2b31e8e809b245a97b2d3a8e35abe9dcd22a w3big@w3big:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6779686f06f6 training/webapp "python app.py" 4 seconds ago Up 2 seconds 5000/tcp, 127.0.0.1:5000->5000/udp drunk_visvesvaraya 95c6ceef88ca training/webapp "python app.py" 2 minutes ago Up 2 minutes 5000/tcp, 127.0.0.1:5001->5002/tcp adoring_stonebraker 33e4523d30aa training/webapp "python app.py" 5 minutes ago Up 5 minutes 0.0.0.0:5000->5000/tcp berserk_bartik fce072cc88ce training/webapp "python app.py" 12 minutes ago Up 12 minutes 0.0.0.0:32768->5000/tcp grave_hopper
คำสั่งพอร์ตนักเทียบท่าช่วยให้เราได้อย่างรวดเร็วและง่ายดายดูข้อมูลพอร์ตมีผลผูกพัน
w3big@w3big:~$ docker port adoring_stonebraker 5002 127.0.0.1:5001
การเชื่อมต่อตู้คอนเทนเนอร์หาง
แผนที่พอร์ตไม่ได้เป็นวิธีเดียวที่จะเชื่อมต่อกับภาชนะนักเทียบท่าอีก
นักเทียบท่ามีระบบการเชื่อมต่อช่วยให้ภาชนะต่างๆเข้าด้วยกันแบ่งปันข้อมูลการเชื่อมต่อ
การเชื่อมต่อนักเทียบท่าจะสร้างความสัมพันธ์แม่ลูกภาชนะแม่ในที่ที่คุณสามารถดูข้อมูลของภาชนะย่อย
การตั้งชื่อตู้คอนเทนเนอร์
เมื่อเราสร้างคอนเทนเนอร์เวลา, นักเทียบท่ามันจะได้รับการตั้งชื่อโดยอัตโนมัติ นอกจากนี้เรายังสามารถใช้ --name เพื่อแจ้งภาชนะตั้งชื่อตัวอย่างเช่น:
w3big@w3big:~$ docker run -d -P --name w3big training/webapp python app.py 43780a6eabaaf14e590b6e849235c75f3012995403f97749775e38436db9a441
เราสามารถดูชื่อของภาชนะที่ใช้คำสั่งนักเทียบท่า PS
w3big@w3big:~$ docker ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 43780a6eabaa training/webapp "python app.py" 3 minutes ago Up 3 minutes 0.0.0.0:32769->5000/tcp w3big