小编Cat*_*ar4的帖子

需要帮助在 Docker 容器中的 VPS 上使用 nginx-proxy 代理 React 和 NodeJS 应用程序

我想做的是在 VPS 上使用 Nestjs + React + MySQL + Nginx 堆栈部署一个 dockerized monorepo 项目(使用 NX 作为 monorepo 框架)。我希望nginx代理监听主机的88端口(因为另一个堆栈使用80端口,这是一个我不敢碰的旧堆栈)。VPS的操作系统是CentOS 7。

我会尝试省略构建(Dockerfile)的大部分细节,但知道构建可以工作,它都在我的本地环境中工作(主要是因为我不使用 nginx-proxy 进行本地开发)并且我知道这要么是我的 Docker 配置(我使用 docker-compose)的问题,要么是主机网络的问题。

这是堆栈的“鸟瞰图”:

  • React-frontend容器正在容器中的端口4200上运行react应用程序(使用nx服务react-frontend),将端口4200暴露给主机
  • backend-api 容器正在容器的端口 3333 上运行 Nodejs 应用程序(使用 Nodejs 入口点),将该端口暴露给主机
  • 一个 MySQL 容器,运行一个 mysql 服务器,该服务器运行在容器的端口 3306 上,暴露在主机的端口 3307 上
  • 使用 jwilder/nginx-proxy docker 镜像(我也尝试使用 nginxproxy/nginx-proxy docker 镜像)的 nginx-proxy 监听主机的 88 端口,并通过代理传递将请求重定向到react-frontend容器(这是部分我失败了)。

这是我的“compose-prod.yml”docker-compose 文件:

version: "3.7"

networks:
  corp:
    driver: bridge
  nginx-proxy:
    external:
      name: nginx-proxy

volumes:
  backend-db-volume:
    driver: local

services:
  nginx-proxy:
    image: jwilder/nginx-proxy # also tried nginxproxy/nginx-proxy …
Run Code Online (Sandbox Code Playgroud)

vps nginx node.js docker reactjs

5
推荐指数
1
解决办法
1752
查看次数

标签 统计

docker ×1

nginx ×1

node.js ×1

reactjs ×1

vps ×1