部署指南
容器部署
使用 Docker 容器将 NEXTDEVKIT 部署到各种云平台
使用 Docker 容器将您的 NEXTDEVKIT 应用程序部署到各种云平台,获得最大的灵活性和控制力。
🌟 为什么选择容器部署?
容器部署非常适合需要以下特性的应用程序:
- 🔧 完全控制:对运行时环境和依赖项的完全控制
- 🌐 平台灵活性:可部署到任何云提供商或本地环境
- 📦 一致环境:开发、测试和生产环境保持一致
- 🔄 易于扩展:通过编排平台实现水平扩展
- 🛡️ 隔离性:进程和资源隔离以确保安全性
- ⚡ 快速部署:快速推出和回滚
🚀 部署步骤
步骤 1:配置环境变量
请参考 环境设置指南 了解详细的环境变量配置。
将 .env.example
复制为 .env.production
或 .env
并更新环境变量。
步骤 2:使用 Dockerfile
使用项目根目录中的 Dockerfile
:
# 使用官方 Node.js 运行时作为基础镜像
FROM node:20-alpine AS base
# 仅在需要时安装依赖项
FROM base AS deps
RUN apk add --no-cache libc6-compat
WORKDIR /app
# 根据首选包管理器安装依赖项
COPY package.json pnpm-lock.yaml* ./
COPY source.config.ts ./
COPY src/content ./src/content
RUN corepack enable pnpm && pnpm i --frozen-lockfile
# 仅在需要时重新构建源代码
FROM base AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
# 构建应用程序
RUN corepack enable pnpm && pnpm run build
# 生产镜像,复制所有文件并运行 next
FROM base AS runner
WORKDIR /app
ENV NODE_ENV production
RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjs
# 复制构建的应用程序
COPY --from=builder /app/public ./public
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
USER nextjs
EXPOSE 3000
ENV PORT 3000
ENV HOSTNAME "0.0.0.0"
# 启动应用程序
CMD ["node", "server.js"]
更新 next.config.ts
文件以启用独立输出:
import type { NextConfig } from "next";
const nextConfig: NextConfig = {
output: "standalone",
};
export default nextConfig;
步骤 3:本地构建和测试
# 构建 Docker 镜像
docker build -t nextdevkit:latest .
# 本地运行容器
docker run -p 3000:3000 --env-file .env nextdevkit:latest
步骤 4:部署到云平台
选择您首选的云平台:
推荐平台
对于通用容器部署,NEXTDEVKIT 支持所有主要的云提供商:
平台 | 类型 | 网站 |
---|---|---|
Azure Container Apps | 微软云 | azure.microsoft.com |
Google Cloud Run | 谷歌云 | cloud.google.com |
Railway | 开发者友好 | railway.app |
Fly.io | 全球边缘容器 | fly.io |
Dokploy | 自托管 | dokploy.com |
Coolify | 自托管 | coolify.io |
您的 NEXTDEVKIT 应用程序现在已容器化并准备好进行部署!🐳🚀