当前位置: 首页 > 面试题库 >

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

卜凯旋
2023-03-14
问题内容

我已经创建了一个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 --host 0.0.0.0 --port 4200



 类似资料:
  • 我已经创建了一个docker映像来测试Angular应用程序,但是我无法在docker容器内从主机连接到正在运行的应用程序。 该图像是使用带有:EXPOSE 4200 8080 80的Dockerfile创建的 我使用命令运行docker容器:docker run-ti-p 4200:4200angulardev/bin/bash 在容器内部,我创建了Angular应用程序,并使用:ng serv

  • 我按照 https://mherman.org/blog/dockerizing-a-react-app/ 下的步骤操作 我的设置: < li>Windows 10主页 < li>docker命令在docker快速启动终端https://docs . Docker . com/toolbox/toolbox _ install _ windows/中运行 如何重现:按照第一个链接中的步骤操作: 全

  • Dockerfile文件 docker撰写。yml 我发射的命令是为了让这个起来 docker-compose-fdocker-compose.yml 之后我去了https://localhost:3000这个项目没有加载。这是可复制的回购协议https://github.com/reyanshmishra/My-Portfolio-ReactJS 谢啦

  • 问题内容: 我有以下用于docker文件的文件… 和弹簧配置… 一切似乎都开始文件,我明白了 我看到… 但是当我运行并在这样的浏览器中输入该地址时,出现超时错误。我知道我可以在运行时使用端口映射,但是有没有一种方法可以映射到我的本地主机呢? 我也尝试过这个… 因此它不是浏览器。 还试图像这样映射它… 0.0.0.0:8080->8080/tcp、9090/tcp 但是localhost:8080(

  • 问题内容: 目前,我在需要连接到camunda的docker容器内运行一个node.js应用程序,该容器在另一个容器中运行。 我使用以下命令启动容器 这两个应用程序现在都在运行,我可以通过在端口8000上导航到主机的IP来访问camunda,运行wget 还会返回camunda页面。使用和键入我的应用程序容器时,我无法访问camunda。相反,我得到以下错误: 当我使用将我的应用程序容器链接到ca

  • 我有一个 docker 17.05.0-ce,在 ubuntu 服务器 16.04 LTS 上构建 89658be。我有一个Postgres在容器中运行并公开端口5432。 我可以从任何地方连接它,除了psql只是超时的同级容器。作为地址,我使用主机的IP。从客户端Ping有效,而psqlconnect无效。 我知道我可以用组合的Postgres服务创建一个docker-compose,但宁愿不这