【发布时间】:2021-05-08 19:28:02
【问题描述】:
我有 reactjs 应用程序和 express 应用程序 dockerized。
这是我的 docker-compose.yml 文件:
version: "3"
services:
client:
image: react-app
build: ./client
ports:
- "3000:3000"
volumes:
- ./client/:/usr/src/app
- /usr/src/app/node_modules
container_name: mern-app-client
environment:
CHOKIDAR_USEPOLLING: "true"
server:
image: express-app
build: ./server
ports:
- "5000:5000"
volumes:
- ./server/:/usr/src/app
- /usr/src/app/node_modules
container_name: mern-app-server
environment:
CHOKIDAR_USEPOLLING: "true"
我有 2 个 dockerfile,每个客户端和服务器中都有 1 个(由节点映像构建)。
运行 docker compose up 后,我在 http://localhost:5000 运行服务器,并在 http://localhost:3000 响应应用程序。
当我在 react 应用程序的 axios/fetch 中将 base_url 作为 http://localhost:5000 时,一切正常。在一些博客(不一定是 mern)中,我看到 localhost 被替换为服务名称。
我尝试了相同的方法并将 react app 中的 base_url 替换为 http://server:5000 但它没有用。
现在我对何时应该替换 base_url 以及为什么需要它的核心概念感到困惑?
如果有人可以解释,我将不胜感激。
感谢您的宝贵时间。
【问题讨论】:
标签: node.js reactjs docker express mern