访问在 Docker 容器内运行的 Angular 应用程序

0 redhat docker dockerfile redhat-containers angular

我创建了一个 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。

谢谢。

Mik*_*ung 5

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

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