2

I am trying to access a running app on a port that I defined using "EXPOSE".
Here is what I get:

docker@boot2docker:~$ docker ps
CONTAINER ID        IMAGE                COMMAND                CREATED             STATUS              PORTS
    NAMES
653d8ee23260        nginx:latest         "nginx -g 'daemon of   2 minutes ago       Up 2 minutes        80/tcp, 443/tcp
    insane_thompson
007cfcd0f539        highlighter:latest   "java -jar -Xmx1500m   8 minutes ago       Up 8 minutes        7777/tcp
    elated_kirch
docker@boot2docker:~$ docker ps
CONTAINER ID        IMAGE                COMMAND                CREATED             STATUS              PORTS     NAMES
653d8ee23260        nginx:latest         "nginx -g 'daemon of   2 minutes ago       Up 2 minutes        80/tcp, 443/tcp    insane_thompson
007cfcd0f539        highlighter:latest   "java -jar -Xmx1500m   8 minutes ago       Up 8 minutes        7777/tcp    elated_kirch

docker@boot2docker:~$ docker port 007cfcd0f539
docker@boot2docker:~$ docker port 653d8ee23260

docker@boot2docker:~$ docker port 653d8ee23260 80
FATA[0000] Error: No public port '80/tcp' published for 653d8ee23260

docker@boot2docker:~$ docker port 007cfcd0f539 7777
FATA[0000] Error: No public port '7777/tcp' published for 007cfcd0f539

Am I misunderstanding how the "port" command works?

Daniil Shevelev
  • 11,739
  • 12
  • 50
  • 73

1 Answers1

5

EXPOSE in Dockerfile is not enough.

You need to specifically tell docker to expose port upon docker run with the -P/-p flags.

A much more detailed answer can be found here.

Community
  • 1
  • 1
m1keil
  • 4,515
  • 22
  • 26