Saya memiliki pengaturan di mana saya menjalankan semua bagian situs web saya dalam wadah docker. Nginx saya yang mendengarkan pada port 80 dan 443 berjalan dalam 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. Wadah 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 di host docker terlihat seperti ini:
root@Ubuntu-1204-precise-64-minimal /var/run # iptables -LChain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHEDACCEPT tcp -- anywhere anywhere tcp dpt:sshACCEPT tcp -- anywhere anywhere tcp dpt:httpACCEPT tcp -- anywhere anywhere tcp dpt:httpsACCEPT tcp -- anywhere anywhere tcp dpt:8000DROP 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,ESTABLISHEDChain 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 wadah dan host di port 3000?
Atau haruskah saya memodifikasi iptables saya untuk menerima dari rentang IP docker?