1

我创建了一个 docker 映像来测试 Angular 应用程序,但我无法从主机连接到 docker 容器内正在运行的应用程序。

该图像是使用 Dockerfile 创建的:EXPOSE 4200 8080 80

我使用以下命令运行 docker 容器: docker run -ti -p 4200:4200 angulardev /bin/bash

在容器内部,我创建了 Angular 应用程序并使用以下命令启动它: ng serve

从容器中,如果我打开 localhost:4200 我会看到应用程序,但我无法从主机操作系统(RHEL7)访问它

怎么了?Angular 应用程序在端口 4200 上启动,该端口公开并映射到主机 4200。

谢谢。

4

1 回答 1

7

如果您在容器内运行 Angular 应用程序,ng serve则它不会允许其他主机访问它。

相反,您应该使用ng serve --host 0.0.0.0 --port 4200

于 2018-02-06T00:43:23.403 回答