[英]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.