Saya memiliki pengaturan tempat saya menjalankan semua bagian situs web saya dalam wadah buruh pelabuhan. Nginx saya yang mendengarkan pada port 80 dan 443 dijalankan dalam sebuah wadah.
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
Saya ingin mengatur proxy ke layanan di wadah lain. Kontainer ini terikat ke port 3000 pada host:
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 saya pada host buruh pelabuhan terlihat seperti ini:
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
Dari dalam wadah, saya tidak dapat terhubung ke port 3000 pada mesin host karena konfigurasi iptables.
Saya tidak ingin membuka port 3000 ke internet publik.
Apakah ada cara untuk membuka jembatan langsung antara kontainer dan host pada port 3000?
Atau haruskah saya memodifikasi iptables saya untuk menerima dari kisaran ip buruh pelabuhan?