繁体   English   中英

如何对接 React Nextjs

[英]How to dockerize React Nextjs

我想通过 docker 工具构建我的下一个 js 项目,但是遇到了一些麻烦:

Error: Could not find a production build in the '/var/app/.next' directory. Try building your app with 'next build' before starting the production server. https://nextjs.org/docs/messages/production-start-no-build-id

Dockerfile:

FROM node:16-alpine
RUN mkdir -p /var/app
COPY ["./", "/var/app"]
WORKDIR /var/app
RUN npm i -g next
EXPOSE 3002
RUN npm run build
CMD ["npm", "run", "start"]

docker-compose.yml

version: '3.3'
services:
   next-project:
     container_name: next-project
     build: ./
     working_dir: /var/app
     restart: 'unless-stopped'
     volumes:
      - ./:/var/app
     env_file:
      - .env
     ports:
      - "54000:3002"

我确实运行这样的命令

docker-compose build && docker-compose up -d

构建成功但运行失败,是否缺少配置?

当您将当前目录 map 到 /var/app 时,容器中该目录中的所有文件都将隐藏并替换为当前目录中的文件。

由于您在主机目录中没有 .next 目录,因此容器无法找到构建的文件。

要让它运行,您需要删除当前目录的映射,因此您的 docker-compose 文件变为

version: '3.3'
services:
   next-project:
     container_name: next-project
     build: ./
     working_dir: /var/app
     restart: 'unless-stopped'
     env_file:
      - .env
     ports:
      - "54000:3002"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM