使用docker-compose进行部署。前端未达到后端

时间:2020-06-01 14:52:48

标签: reactjs docker nginx docker-compose

所以我正在运行一个包含docker-compose的3个服务的Web应用程序。 mongodb数据库容器。 一个nodejs后端。 一个带有静态build文件夹的nginx容器,用于服务react应用。

在本地运行良好,当尝试部署到vps时,我感到非常高兴。

我已经将vps的nginx设置为反向代理到服务react应用程序的端口8000,它可以按预期运行,但是我无法向后端发送请求,当我登录vps时,我可以卷曲它并它会响应,但是当网络应用发送请求时,它们会挂起。

我的docker-compose:

version: '3.7'

services:
  server:
    build:
      context: ./server
      dockerfile: Dockerfile
    image: server
    container_name: node-server
    command: /usr/src/app/node_modules/.bin/nodemon server.js
    depends_on:
      - mongo
    env_file: ./server/.env
    ports:
      - '8080:4000'
    environment:
      - NODE_ENV=production
    networks:
      - app-network
  mongo:
    image: mongo:4.2.7-bionic
    container_name: database
    hostname: mongo
    environment:
      - MONGO_INITDB_ROOT_USERNAME=...
      - MONGO_INITDB_ROOT_PASSWORD=...
      - MONGO_INITDB_DATABASE=admin
    restart: always
    ports:
      - 27017:27017
    volumes:
      - ./mongo/init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js:ro
    networks:
      - app-network
  client:
    build:
      context: ./client
      dockerfile: prod.Dockerfile
    image: client-build
    container_name: react-client-build
    env_file: ./client/.env
    depends_on:
      - server
    ports:
      - '8000:80'
    networks:
      - app-network

networks:
  app-network:
    driver: bridge

volumes:
  data-volume:
  node_modules:
  web-root:
    driver: local

0 个答案:

没有答案