所以我正在运行一个包含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