logocreator / Dockerfile
fengmiguoji's picture
Update Dockerfile
8148a51 verified
# 使用 Node.js 18 作为基础镜像,并命名为 builder
FROM node:18-alpine AS builder
# 设置工作目录
WORKDIR /app
# 复制 package.json 和 package-lock.json 文件
COPY package*.json ./
# 安装项目依赖
RUN npm install
# 复制项目的所有代码文件到工作目录
COPY . .
# 构建 Next.js 应用程序,使用 --no-lint 跳过 ESLint 检查
RUN npm run build --no-lint
# 创建一个精简的镜像,用于运行应用程序
FROM node:18-alpine
# 设置工作目录
WORKDIR /app
# 从 builder 镜像复制构建好的 Next.js 应用
COPY --from=builder /app/.next ./.next
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/public ./public
COPY --from=builder /app/package*.json ./
COPY --from=builder /app/next.config.mjs ./
COPY --from=builder /app/postcss.config.mjs ./
# 设置 NODE_ENV 为 production
ENV NODE_ENV production
# 暴露容器的 3000 端口
EXPOSE 3000
# 使用 npm run start 命令启动 Next.js 应用程序
CMD ["npm", "run", "start"]