ฉันมีการตั้งค่าที่ฉันเรียกใช้ทุกส่วนของเว็บไซต์ของฉันในคอนเทนเนอร์นักเทียบท่า nginx ของฉันที่ฟังพอร์ต 80 และ 443 ทำงานในคอนเทนเนอร์
363292a98545 scivm/nginx-django-scivmcom:latest /usr/bin/supervisord 12 days ago Ghost 0.0.0.0:40001->22/tcp, 88.198.57.112:443->443/tcp, 88.198.57.112:80->80/tcp lonely_feynmann
ฉันต้องการตั้งค่าพร็อกซีให้บริการในคอนเทนเนอร์อื่น คอนเทนเนอร์นี้ถูกผูกไว้กับพอร์ต 3000 บนโฮสต์:
b38c8ef72d0a mazzolino/strider-dind:latest wrapdocker /usr/bin/ 41 minutes ago Up 41 minutes 0.0.0.0:3000->3000/tcp, 22/tcp, 27017/tcp distracted_einstein
iptables ของฉันในโฮสต์นักเทียบท่ามีลักษณะเช่นนี้:
root@Ubuntu-1204-precise-64-minimal /var/run # iptables -L
Chain INPUT (policy ACCEPT) target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:8000
DROP all -- anywhere anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
จากภายในคอนเทนเนอร์ฉันไม่สามารถเชื่อมต่อกับพอร์ต 3000 บนเครื่องโฮสต์ได้เนื่องจากการกำหนดค่า iptables
ฉันไม่ต้องการเปิดพอร์ต 3000 ไปยังอินเทอร์เน็ตสาธารณะ
มีวิธีในการเปิดบริดจ์โดยตรงระหว่างคอนเทนเนอร์และโฮสต์บนพอร์ต 3000 หรือไม่
หรือฉันควรแก้ไข iptables ของฉันเพื่อยอมรับจากช่วงนักเทียบท่า ip?