Sunday, September 11, 2016

networking - connecting from docker container to docker host



I have a setup where I run all parts of my website in docker containers. My nginx that listens on port 80 and 443 run in a 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           


I want to set up a proxy to a service in another container. This container is bound to port 3000 on the 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      


My iptables on the docker host look like this:



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


From within the container, I am unable to connect to port 3000 on the host machine due to the iptables configuration.



I don't want to open port 3000 to the public internet.



Is there a way to open a direct bridge between the container and the host on port 3000?




Or should I modify my iptables to accept from the docker ip range?


Answer



All you need is Docker's link capabilities [deprecated]



Just get rid of all the complicated stuff you tried to do and start using named containers and then link them to each other.


No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...