在一个docker容器中运行,端口9005可用于主机操作系统,当我运行时
firebase serve -p 9005
然后尝试从主机os(windows)
访问它使用http://localhost:9005我得到一个空的回复
答案 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