firebase服务于docker容器,对主机操作系统不可见

时间:2017-03-13 12:53:04

标签: firebase docker firebase-tools

在一个docker容器中运行,端口9005可用于主机操作系统,当我运行时

firebase serve -p 9005

然后尝试从主机os(windows)

访问它

使用http://localhost:9005我得到一个空的回复

2 个答案:

答案 0 :(得分:7)

要强制firebase服务可见,你必须指定它以强制它绑定到地址0.0.0.0,否则绑定默认为localhost

所以你需要运行

firebase serve -p 9005 -o 0.0.0.0

确保使用docker命令行选项-p

公开和发布9005

答案 1 :(得分:0)

对于您的主机是本地主机,例如127.0.0.1,因为Docker容器也是localhost,也可能是127.0.0.1。 但是这些并不相同,这是两件事!

您必须配置一个在Docker容器中运行的进程以使用所有名为0.0.0.0的接口,这不是本地主机。

firebase serve -p 9005 -o 0.0.0.0

然后,您必须在上面的示例9005中公开端口。参见https://docs.docker.com/engine/reference/commandline/run/#publish-or-expose-port--p---expose

docker run --expose 9005 $CONTAINER $PARAMS

或在Dockerfile中带有类似内容:

EXPOSE 9005/tcp
EXPOSE 9005/udp 

参见此处:https://docs.docker.com/engine/reference/builder/#expose