我通过angular-cli创建了新的Angular2应用程序并在Docker中运行它.但我无法从localhost连接它.
起初我在我的本地机器上启动app:
ng new project && cd project && "put my Dockerfile there" && docker build -t my-ui .
我按命令启动它:
docker run -p 4200:4200 my-ui
然后尝试我的localhost:
curl localhost:4200
并收到
curl: (56) Recv failure: Connection reset by peer
然后,我尝试切换到运行容器(docker exec -ti container-id bash)并运行curl localhost:4200并且它可以工作.
我还尝试使用–net = host param运行容器:
docker run --net=host -p 4200:4200 my-ui
它有效.问题是什么?我也尝试在守护进程模式下运行容器,但它没有帮助.谢谢.
我的Dockerfile
FROM node
RUN npm install -g angular-cli@v1.0.0-beta.24 && npm cache clean && rm -rf ~/.npm
RUN mkdir -p /opt/client-ui/src
WORKDIR /opt/client-ui
COPY package.json /opt/client-ui/
COPY angular-cli.json /opt/client-ui/
COPY tslint.json /opt/client-ui/
ADD src/ /opt/client-ui/src
RUN npm install
RUN ng build --prod --aot
EXPOSE 4200
ENV PATH="$PATH:/usr/local/bin/"
CMD ["npm","start"]
最佳答案
您似乎使用ng serve来运行开发服务器,默认情况下它在循环接口上启动(仅在localhost上可用).你应该提供具体的参数:
ng serve --host 0.0.0.0
在所有接口上运行它.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。