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
我在标准节点 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