4

Running in a docker container with the ports 9005 available to the host os and when i run

firebase serve -p 9005

and then try to access this from the host os (windows)

using http://localhost:9005 I get an empty response

Frank van Puffelen
  • 565,676
  • 79
  • 828
  • 807
graham
  • 258
  • 1
  • 9

2 Answers2

10

to force firebase serve to be visible you have to specify it to force it to bind to the address 0.0.0.0 otherwise the bind defaults to localhost

so you need to run

firebase serve -p 9005 -o 0.0.0.0

Make sure that 9005 is exposed and published using the docker command line option -p

graham
  • 258
  • 1
  • 9
0

For your host is the localhost e.g. 127.0.0.1, for the docker container is localhost maybe 127.0.0.1, too. But these are not the same these are two different things!

You have to configure a process running in a docker container to use all interfaces this is called 0.0.0.0 this is not the localhost.

firebase serve -p 9005 -o 0.0.0.0

Then you have to expose the port, in the above example 9005. See https://docs.docker.com/engine/reference/commandline/run/#publish-or-expose-port--p---expose

docker run --expose 9005 $CONTAINER $PARAMS

or in the Dockerfile with something like that:

EXPOSE 9005/tcp
EXPOSE 9005/udp 

See here: https://docs.docker.com/engine/reference/builder/#expose

zzeroo
  • 5,466
  • 4
  • 33
  • 49