我正在docker容器中运行一个简单的react应用。在开发过程中,我使用package.json
中的代理密钥指定我的后端api网址:"proxy": "http://localhost:5000"
当我在本地运行npm start
时,一切正常。但是,当我在码头集装箱中将npm start
指向"http://localhost:3000"
时。我也尝试过手动设置代理,如下面的Dockerfile所示,但是似乎没有任何效果:
FROM node:13-alpine
WORKDIR /app
# install dependencies
COPY package*.json ./
RUN npm install --silent
# copy source code
COPY src/ ./src/
COPY public/ ./public/
RUN npm config set proxy http://localhost:5000 # set manully
CMD ["npm", "start"]
我做错什么了吗?还是不可能?
您现在在Docker容器中运行React应用,因此您的“本地主机”不再是本地计算机,而是该容器。您需要将其代理到后端的IP。您是否在另一个容器中运行API?