我在docker中运行我的应用程序,但我的生产构建和启动脚本仅在docker环境中失败.虽然node_env开发在docker环境中运行良好.
这是我的脚本无法进行生产构建并启动服务器.我正在使用nodemon和babel
"build:prod": {
"command": "babel ./src/server/ -d server --presets es2015,stage-2 && next build src",
"env": {
"NODE_ENV": "production"
}
},
"start:prod": {
"command": "PORT=3000 nodemon --watch ./src/server/ ./src/server/server.js --exec babel-node --presets es2015,stage-2",
"env": {
"NODE_ENV": "production"
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我在docker环境中给出相同的命令时:
FROM node:8-alpine
COPY package.json /tmp/package.json
RUN cd /tmp && npm install
RUN mkdir -p /opt/app && cp -a /tmp/node_modules /opt/app
WORKDIR /opt/app
ADD . /opt/app
RUN npm run build:prod
EXPOSE 3000
CMD ["npm", "run", "start:prod"]
Run Code Online (Sandbox Code Playgroud)
我在docker中收到以下错误:
> better-npm-run start:prod
site_1 …
Run Code Online (Sandbox Code Playgroud) 下次开始
附带调试器。[错误:ENOENT:没有这样的文件或目录,打开 'C:\Janani\ticket-app.next\BUILD_ID'] { errno: -4058,代码:'ENOENT',系统调用:'open',路径:'C: \Janani\ticket-app\.next\BUILD_ID' } 正在等待调试器断开连接...
这个错误再次重复,并且每个项目都会发生...我不知道 BUILD_ID。你能帮我解决这个错误吗