Tôi có một thiết lập nơi tôi chạy tất cả các phần của trang web của mình trong các thùng chứa docker. Nginx của tôi nghe trên cổng 80 và 443 chạy trong một container.
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
Tôi muốn thiết lập proxy cho một dịch vụ trong một container khác. Container này được liên kết với cổng 3000 trên máy chủ:
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 của tôi trên máy chủ docker trông như thế này:
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
Từ trong container, tôi không thể kết nối với cổng 3000 trên máy chủ do cấu hình iptables.
Tôi không muốn mở cổng 3000 sang internet công cộng.
Có cách nào để mở một cây cầu trực tiếp giữa container và máy chủ trên cổng 3000 không?
Hoặc tôi nên sửa đổi iptables của mình để chấp nhận từ phạm vi ip docker?