【发布时间】:2017-03-13 12:53:04
【问题描述】:
在 docker 容器中运行,端口 9005 可用于主机操作系统以及何时运行
firebase 服务 -p 9005
然后尝试从主机操作系统(windows)访问它
使用http://localhost:9005 我得到一个空响应
【问题讨论】:
标签: firebase docker firebase-tools
在 docker 容器中运行,端口 9005 可用于主机操作系统以及何时运行
firebase 服务 -p 9005
然后尝试从主机操作系统(windows)访问它
使用http://localhost:9005 我得到一个空响应
【问题讨论】:
标签: firebase docker firebase-tools
要强制 firebase 服务可见,您必须指定它以强制它绑定到地址 0.0.0.0 否则绑定默认为 localhost
所以你需要运行
firebase 服务 -p 9005 -o 0.0.0.0
确保使用 docker 命令行选项 -p 公开和发布 9005
【讨论】:
对于您的主机是本地主机,例如127.0.0.1,对于 docker 容器也是 localhost,也可能是 127.0.0.1。 但这些不一样,这是两个不同的东西!
您必须配置一个在 docker 容器中运行的进程以使用所有接口,这称为 0.0.0.0 这不是 localhost。
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
【讨论】: