加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

node.js – 具有Angular2应用程序和NodeJs的Docker容器没有响应

发布时间:2020-12-16 03:31:15 所属栏目:安全 来源:网络整理
导读:我通过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 m

我通过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

在所有接口上运行它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读