Angular应用程序未从docker-compose.yml文件运行

时间:2019-10-28 18:39:42

标签: angular docker docker-compose

我为我的角度应用程序编写了以下docker文件。

version: '3'
services:
  applicationui:
    image:  applicationui
    build: /
    network_mode: host
    container_name: angular-container
    ports:
      - 4200:4100 

Docker镜像已成功创建。 在我写的docker-compose.yml文件中:

Movement

在执行docker-compose up后,当我使用localhost:4200访问浏览器时,页面无法打开。

运行docker-compose up enter image description here 我错过了任何线索吗?

2 个答案:

答案 0 :(得分:1)

您没有在Dockerfile中覆盖Nginx配置,因此端口的实际问题是默认情况下监听EXPOSE 80 的Nginx。因此,请更改裸露的端口。

80

默认情况下,作为Nginx监听端口4100,而不是像期望的Nginx那样监听端口80,就像Angular ng serve等。

最好使用Expose 80,因为它会提高可读性,因为@David提到如果设置network_mode:host不会产生任何作用。

因此,用 ports: - 4200:80 打开浏览器,它应该可以工作。

或者您可以绑定所需的端口,而无需在docker-compose中提及主机网络

{{1}}

http://localhost/

答案 1 :(得分:0)

如果设置ports:

network_mode: host无效。此设置经常被作为解决Docker网络问题的一种解决方法,因此在这里不需要。只需删除该行。 (您也可以安全地删除container_name:image:,而不会造成不良影响。)