Dockerized Aurelia 应用程序在 Docker 容器之外不可见 - 未在 0.0.0.0 上侦听

Dockerized Aurelia App Is Not Visible Outside of Docker Container - Not listening on 0.0.0.0

我在标准节点 docker 容器内 运行 安装一个 Aurelia 应用程序,它正在侦听端口 8080。在容器内,我测试过它是 运行宁使用curl;并以预期的 HTML 响应。但是我无法通过主机上(容器外)的映射端口访问应用程序。

我运行正在执行以下命令来启动容器

$ docker run -it --rm -p 8080:8080 -v ${PWD}:/app node bash

然后在容器内,我安装了 cli 并创建了一个新的应用程序

# npm install -g aurelia-cli
# au new

创建默认应用程序后,我 cd 进入应用程序目录并 运行 应用程序。

# au run

正如我上面所说,我可以使用 curl http://localhost:8080 验证该应用程序 运行ning。但是,在主机上,我无法访问该应用程序:

$ curl http://localhost:8888
curl: (52) Empty reply from server

最初,我认为这是一个 docker 问题。参见 this question。但事实证明 Aurelia 正在监听 localhost 而不是 0.0.0.0.

运行 设置了 host 选项的 Aurelia 允许服务器侦听 0.0.0.0,因此它将在 docker 容器中正确映射。

au run --host 0.0.0.0