Docker network – Why docker container responds on 127.0.0.1?

I start up a docker container with a service that runs on port 9324:

docker run -d -p 9324:9324 vsouza/sqs-local

I imagine that this container will run o bridge0 network. So If I run: docker network inspect bridge, I can see that this container is on ip: "IPv4Address": "172.17.0.2/16".

  • Best practice for building docker for Python - requirements file OR install individually
  • How to edit files in container docker by editor
  • Docker ADD folder during build and then expose to VOLUME
  • Failed to connect to containerd
  • Don't see Django in Docker container
  • Fail to install Starman inside Docker container
  • The service is responding on both ip: 172.17.0.2:9324 and 127.0.0.1:9324.

    Why this service is responding on 127.0.0.1?

  • How to install docker 1.9 in CentOS 6.5?
  • How can I setup #Spark/#Kafka on Docker ?
  • Is it possible to let ansible print each statement?
  • Can travis-ci run docker?
  • Docker unable to install numpy, scipy, or gensim
  • Unable to connect to Redis Cluster from inside Docker container
  • One Solution collect form web for “Docker network – Why docker container responds on 127.0.0.1?”

    The -p 9324:9324 tells docker to publish the 9324 port in the container on the host at port 9324. The actual mechanics of that are with some iptables rules to do a masquerade and a dnat on that port (for outbound and inbound traffic respectively). This is frequently done since you don’t always know the ip of each container, and may have your firewall rules configured to block direct access to the container (which you don’t in your environment).

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.