ฉันสังเกตว่ามีกระบวนการนักเทียบท่าพร็อกซีทำงานอยู่สำหรับพอร์ตที่เผยแพร่แต่ละพอร์ต จุดประสงค์ของกระบวนการนี้คืออะไร? เหตุใดจึงต้องใช้พร็อกซี tcp space สำหรับสิ่งนี้
$ ps -Af | grep proxy
root 4776 1987 0 01:25 ? 00:00:00 docker-proxy -proto tcp -host-ip 127.0.0.1 -host-port 22222 -container-ip 172.17.0.2 -container-port 22
root 4829 1987 0 01:25 ? 00:00:00 docker-proxy -proto tcp -host-ip 127.0.0.1 -host-port 5555 -container-ip 172.17.0.3 -container-port 5555
และกฎ iptable ที่เกี่ยวข้องที่สร้างโดยนักเทียบท่า:
$ sudo iptables -t nat -L -n -v
Chain PREROUTING (policy ACCEPT 1 packets, 263 bytes)
pkts bytes target prot opt in out source destination
0 0 DOCKER all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type LOCAL
Chain INPUT (policy ACCEPT 1 packets, 263 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 1748 packets, 139K bytes)
pkts bytes target prot opt in out source destination
32 7200 DOCKER all -- * * 0.0.0.0/0 !127.0.0.0/8 ADDRTYPE match dst-type LOCAL
Chain POSTROUTING (policy ACCEPT 1719 packets, 132K bytes)
pkts bytes target prot opt in out source destination
32 7200 MASQUERADE all -- * !docker0 172.17.0.0/16 0.0.0.0/0
Chain DOCKER (2 references)
pkts bytes target prot opt in out source destination
0 0 DNAT tcp -- !docker0 * 0.0.0.0/0 127.0.0.1 tcp dpt:22222 to:172.17.0.2:22
0 0 DNAT tcp -- !docker0 * 0.0.0.0/0 127.0.0.1 tcp dpt:5555 to:172.17.0.3:5555
13
ไม่เห็นด้วยเกี่ยวกับการปิดคำถามนี้ มันเป็นปัญหาทางสถาปัตยกรรมที่ถูกต้องที่เป็น offshoot ของserverfault.com/questions/615372 ; หากเราลงคะแนนเสียงสิ่งที่ดูเหมือนจะเป็นส่วนหนึ่งของบริการ (อย่างน้อยบนเว็บไซต์) ที่ไม่มีเอกสารดังนั้นนั่นจึงเป็นคำถามที่ว่าเราควรจะไปติดตั้งบริการใหม่และเป็นประกายเงางามซึ่งเราไม่เข้าใจภายใน ผลงานของ?
—
Avery Payne
นอกจากนี้ในเพื่อstackoverflow.com/a/37809857/1318694
—
แมตต์