Docker with multiple exposed ports

I have a container with say, 3 ports, 1000 (nodejs-express), 1001 (python-flask) and 1002 (angular2-client) exposed. When I use

docker run --name test -d -p 1000:1000 -p 1001:1001 -p 1002:1002 docker_image

Only the Express server is working fine on the host computer. However, when I log into the container and do curl, all three servers are responding just fine.

  • Change swappiness for docker container
  • Docker Remote API Filter Exited
  • cannot generate a service account token in kubernetes v1
  • Cloning GitHub private repository with Docker container non-root user?
  • pipelines fail with custom docker image
  • CPP Rest SDK http_listener throws exception in nano server (in a Docker container)
  • Any ideas what is going on with multiple port bindings with docker/host?

  • Persist data from docker container to host machine
  • Can I publish a .Net application which is not ASP.NET 5 or ASP.NET Core in Docker containers?
  • Where can I access docker file system on windows
  • docker-compose does not see volumes changes in docker-compose.yml
  • Why is my docker command from ant not executed?
  • AWS codebuild not passing down environment variables?
  • One Solution collect form web for “Docker with multiple exposed ports”

    Once you do the following:

    1. EXPOSE ports on the DockerFile
    2. set -p flag for each port to expose externally

    You just need to make sure that your services allows external connections.

    i.e. for python flask: http://dixu.me/2015/10/26/How_to_Allow_Remote_Connections_to_Flask_Web_Service/ the default listen is localhost. Make sure it’s listening on 0.0.0.0

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