【发布时间】:2021-09-20 03:41:41
【问题描述】:
我正在将 Docker Compose 用于 React/Express 应用程序。
服务器的 Dockerfile:
FROM node:latest
WORKDIR /app/server
COPY package.json /app/server
COPY package-lock.json /app/server
RUN npm install
COPY . /app/server
CMD [ "npm", "run", "dev" ]
客户端的 Dockerfile:
FROM node:latest
WORKDIR /app/client
COPY package.json /app/client
COPY package-lock.json /app/client
RUN npm install
COPY . /app/client
CMD [ "npm", "start" ]
还有我的 docker-compose 文件:
version: '3'
services:
server:
build: ./server
expose:
- "3001"
ports:
- "3001:3001"
volumes:
- ./server/src/:/app/server
command: npm run dev
tty: true
client:
build: ./client
expose:
- "3000"
ports:
- "3000:3000"
volumes:
- ./client/src/:/app/client
links:
- server
command: npm run start
tty: true
运行“docker-compose up”后服务器崩溃:
npm 错误!缺少脚本:“dev”
但是,我的 package.json 中有一个“开发”脚本:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "nodemon index.js",
"start": "node index.js"
},
这里有什么问题?脚本在那里。我的 Docker 文件有问题吗? “npm run dev”在没有 Docker 的情况下也能正常工作。
谢谢!
【问题讨论】:
标签: node.js reactjs docker docker-compose