Docker Can';t从容器外部进入

Docker Can';t从容器外部进入,docker,angular5,Docker,Angular5,我正在docker容器上运行Angular,并试图从本地web浏览器访问它。 从节点:9.11.1作为节点 维护者构造 运行mkdir-p/usr/src/app WORKDIR/usr/src/app 复制package.json/usr/src/app 运行npm安装 抄袭/usr/src/app 暴露4200 CMD[“npm”,“开始”] 我使用:docker build-t act构建。 我使用:docker run-p 4200:4200 act运行 这以前对我有用,但现在不行了

我正在docker容器上运行Angular,并试图从本地web浏览器访问它。

从节点:9.11.1作为节点
维护者构造
运行mkdir-p/usr/src/app
WORKDIR/usr/src/app
复制package.json/usr/src/app
运行npm安装
抄袭/usr/src/app
暴露4200
CMD[“npm”,“开始”]

我使用:
docker build-t act构建。

我使用:
docker run-p 4200:4200 act运行

这以前对我有用,但现在不行了。我从chrome收到的错误是,无法访问此站点172.17.0.2。响应时间太长。。我试过去本地主机:4200


我试过运行其他web服务器,可以很好地访问它们:
docker run-p80:80--name webserver nginx

是否需要允许所有带有--host标志的接口

npm start --host 0.0.0.0

这使得angular可以被所有接口访问,而不仅仅是在docker容器中提供环回接口。如果有人出现此问题,您可以运行:

ng serve—主机0.0.0.0—端口4200


您将能够从主机访问您的应用程序。

没有帮助。虽然现在我得到了“localhost没有发送任何数据。ERR\u EMPTY\u RESPONSE”如果您将
--network host
添加到run命令会怎么样?它们都不起作用,您确定
npm start
默认情况下在端口4200上启动服务器吗?是的。如果我只是在本地运行它,而不是在容器中运行,那么我可以毫无问题地访问它。