javascript - 即使 Package.json 有 ""start": "set PORT=3500 && react-scripts start"",带有 React-Service 的 Docker-compose 总是选择 PORT 3000
问题描述
我正在使用 docker-compose 运行一些微服务:
Dockerfile:
FROM node:alpine
WORKDIR '/app'
COPY ./package.json ./
RUN npm install
COPY . .
CMD ["npm", "run", "start"]
docker-compose.yaml :
version: '3'
services:
lb:
image: dockercloud/haproxy
links:
- api-gateway
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 80:80
- 443:443
restart: on-failure
api-gateway:
build:
context: .
dockerfile: development.Dockerfile
image: microservices-workshop/api-gateway:dev
restart: on-failure
environment:
- VIRTUAL_HOST=api-gateway.app.com
ports:
- 3000:3000
volumes:
- ./api-gateway:/app/src
delivery-service:
build:
context: .
dockerfile: development.Dockerfile
image: microservices-workshop/delivery-service:dev
restart: on-failure
volumes:
- ./delivery-service:/app/src
order-service:
build:
context: .
dockerfile: development.Dockerfile
image: microservices-workshop/order-service:dev
restart: on-failure
volumes:
- ./order-service:/app/src
restaurants-service:
build:
context: .
dockerfile: development.Dockerfile
image: microservices-workshop/restaurants-service:dev
restart: on-failure
volumes:
- ./restaurants-service:/app/src
react-service:
build:
context: ./react-service
dockerfile: Dockerfile
volumes:
- /node_modules
- ./react-service:/src
tty: true
ports:
- 3500:3500
这是 React 应用程序的 Package.JSON:
{
"name": "reactservice",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.5.0",
"@testing-library/user-event": "^7.2.1",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"react-scripts": "3.4.2"
},
"scripts": {
"start": "set PORT=3500 && react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
但是,当我点击 : 时docker-compose up
,我得到:
Compiled successfully!
react-service_1 |
react-service_1 | You can now view reactservice in the browser.
react-service_1 |
react-service_1 | Local: http://localhost:3000
react-service_1 | On Your Network: http://172.20.0.4:3000
react-service_1 |
react-service_1 | Note that the development build is not optimized.
react-service_1 | To create a production build, use npm run build.
react-service_1 |
...即使我已将端口设置为3500
.
我哪里做错了 ?
顺便说一句,我在 WINDOWS 10 下工作
解决方案
推荐阅读
- php - 可以在同一个 Dockerfile 中有 PHP + MongoDb + Nginx 吗?
- python - 将python字典键对转换为字符串
- python - 将烧瓶 html 报告转换为 csv
- angular - 如何根据角度 6 中的条件使用隐藏 iframe
- laravel - 普通 HTTP 请求被发送到 HTTPS 端口错误 Docker nginx
- c# - EF Core ThenInclude 检索所有嵌套数据
- c# - 将 JObject 列表转换为 .Net 对象列表
- javascript - 变量范围相关。从不同的函数调用函数中的变量 - 意外的行为/结果
- python - 使用动态鼠标悬停事件抓取网站
- apache-spark - 如何获取 apache spark 作业状态并将其实时传输到前端 Web?