我正在标准节点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
验证应用程序是否正在运行。但是,在主机上,我无法访问该应用程序:
$ curl http://localhost:8888
curl: (52) Empty reply from server
最初,我认为这是一个docker问题。参见this question。但是事实证明,Aurelia正在听localhost
而不是0.0.0.0
。
答案 0 :(得分:1)
设置了host
选项的Aurelia运行服务器允许服务器监听0.0.0.0
,因此它将在docker容器中正确映射。
au run --host 0.0.0.0