How to configure a Docker container to be reachable by container_ip:port from outside the host machine?

Manuel Durando picture Manuel Durando · Aug 20, 2014 · Viewed 27.3k times · Source

I have a host machine with multiple IP addresses assigned to one network interface. I'd like to configure Docker in order to have containers "responding" each one to a single IP of these IP addresses assigned to the host machine.

Can this be done with libcontainer or do I have to use the LXC driver and run my containers with --lxc-conf="lxc.network..."?

Thanks in advance.

UPDATE

I want each container to be reachable from outside; with the default Docker configuration I can only expose a port and reach the container by host_ip:exposed_port and not by container_ip:port. Can this second option be configured in some way?

Answer

Manuel Durando picture Manuel Durando · Aug 20, 2014

This answer explain exactly what I want to obtain in a very simple way.

The idea is to have different IP addresses on the host machine, for example using IP aliasing on a single network interface and then launch each container specifying the IP address to where they will be reachable in addition to the exposed port (see the linked answer for an example).