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

Access Angular app running inside Docker container

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

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

I 运行 docker 容器命令: docker 运行 -ti -p 4200:4200 angulardev /bin/bash

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

从容器中,如果我打开 localhost:4200 我会看到该应用程序,但我无法从主机 OS (RHEL7)

访问它

怎么了? Angular 应用程序在暴露并映射到主机 4200 的端口 4200 上启动。

谢谢。

如果您 运行宁 angular 应用程序在您的容器中只有 ng serve 它不会允许其他主机访问它。

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