How to find IP address of a Docker container

  docker

On my windows laptop I have created a Play application which runs fine if I execute its scripts directly. On the local machine, I access the application using localhost:9000 URL.

I have now created a Docker image of the application and have exposed port 9000

#this docker file copies prod specific files to container, eg logback_prod.xml and application_prod.conf

    FROM openjdk:8
    #ENV APP_NAME      myapp
    #ENV APP_VERSION   1.0-SNAPSHOT
...
    #entrypoint is deploy/....
    EXPOSE 9000
    ENTRYPOINT ...

But I can’t access the application on localhost:9000. I suspect that the image might be running on some other IP created by docker itself.

Am I correct? How can I access my application through the container? I don’t need Kubernetes Services etc. as I already have that setup on another machine. My specific question is how to access the docker container directly.

UPDATE
I also tried running the docker image using --network="host" but that doesn’t work either

UPDATE 2

Based on the suggestions below, I executed the following commands but still can’t access the application.

docker run -p 9000:9000 --env-file env.txt imagename

I see the trace

[debug] a.i.TcpListener - Successfully bound to /0.0.0.0:9000
[info] p.c.s.AkkaHttpServer - Listening for HTTP on /0.0.0.0:9000

docker ps -a shows application is up with port binding 0.0.0.0:9000->9000/tcp

docker inspect shows IP"IPAddress": "172.17.0.2"

but http://172.17.0.2:9000/ on Chrome doesn’t work This site can’t be reached172.17.0.2

Source: Docker Questions

LEAVE A COMMENT