簡體   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