angular - Docker组成了Angular 502 Bad Gateway

标签 angular docker docker-compose dockerfile http-status-code-502

我正在使用docker compose将我的应用程序放置在服务器上。我有三个容器,分别是:angular,spring和https-portal。我的 docker 撰写文件:

version: '3.3'

services:
  web: 
    build: './blooming_frontend'
    ports: 
      - 4200:80
    depends_on:
      - spring
  spring:
    build: ./blooming_backend
    ports:
      - 8080:8080
  https-portal:
    image: steveltn/https-portal:1
    depends_on:
        - web
        - spring
    ports:
        - 80:80
        - 443:443
    restart: always
    volumes:
        - ./ssl_certs:/var/lib/https-portal
    environment:
        DOMAINS: 'www.bloomingthebrand.com -> http://web:4200 #production' 
以及用于Angular服务的docker文件
FROM node:14.13
MAINTAINER Blooming The Brand dev team <info@bloomingthebrand.com>

# set working directory
RUN mkdir /usr/src/app
WORKDIR /usr/src/app

# add .bin to $PATH
ENV PATH /usr/src/app/node_modules/.bin:$PATH

# install package.json (o sea las dependencies)
COPY package.json /usr/src/app/package.json
RUN npm install
RUN npm install -g @angular/cli@10.0.3 

# add app
COPY . /usr/src/app

# start app
CMD npm start
当我尝试访问www.bloomingthebrand.com时,服务器返回502网关错误ngix
Angular应用程序在端口4200中启动

最佳答案

如果要从另一个容器访问一个容器,则需要在容器的端口而不是裸露的容器上进行访问。实际上,除非您要绕过https-portal,否则无需公开4200
也就是说,将4200更改为80此处DOMAINS: 'www.bloomingthebrand.com -> http://web:4200 #production',或者只是不设置端口,因为它是默认HTTP。

关于angular - Docker组成了Angular 502 Bad Gateway,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64599750/

相关文章:

css - 如何通过CSS设置无效p-inputNumber PrimeNg表单组件的红色边框?

javascript - 如何防止带有 Moment Js 的 Angular Material 6 DatePicker 转换不正确的格式?

.net - Angular - 如何检测后端变化

docker - 避免在每个Docker构建中重新安装软件包

json - 如何使用 Angular 显示和过滤深层嵌套的 JSON

docker - docker-compose:链接选项不起作用

python - Docker -Pika BlockingConnection错误

Docker-compose 级联构建镜像

mySQL 初始化脚本未与 docker-compose 一起运行

docker - 从 php 以外的容器运行 `docker-php-ext-install`