我已经创建了一个Docker映像来测试Angular应用程序,但是无法从主机连接到Docker容器中正在运行的应用程序。
该映像是使用具有以下内容的Dockerfile创建的:EXPOSE 4200 8080 80
我使用以下命令运行docker容器:docker run -ti -p 4200:4200 angulardev / bin / bash
在容器内,我创建Angular应用程序并使用以下命令启动它:ng serve
从容器中,如果我打开localhost:4200,我会看到该应用程序,但无法从主机OS(RHEL7)访问它
怎么了?Angular应用程序从端口4200开始,该端口已公开并映射到主机4200。
谢谢。
如果您仅在容器内运行angular app ng serve,则不允许其他主机访问它。
ng serve
相反,您应该使用 ng serve --host 0.0.0.0 --port 4200
ng serve --host 0.0.0.0 --port 4200