next通过docker部署

发布于:2025-02-11 ⋅ 阅读:(14) ⋅ 点赞:(0)

1、根目录创建Dockerfile文件,内容如下(node可以不用指定版本,直接FROM node AS deps)

# 使用官方 Node.js 运行时作为父镜像
FROM node:18-alpine AS deps

# 设置工作目录
WORKDIR /app

# 复制 package.json 和 package-lock.json
COPY package*.json ./

# 安装项目依赖
RUN npm ci

# 下一阶段:构建应用
FROM node:18-alpine AS builder

# 设置工作目录
WORKDIR /app

# 复制依赖模块
COPY --from=deps /app/node_modules ./node_modules

# 复制应用代码
COPY . .

# 构建 Next.js 应用
RUN npm run build

# 生产环境阶段
FROM node:18-alpine AS runner

# 设置工作目录
WORKDIR /app
# 复制生产环境所需文件
COPY --from=builder /app/public ./public
COPY --from=builder /app/.next ./.next
COPY --from=builder /app/package*.json ./
COPY --from=builder /app/next.config.ts ./

# 安装仅生产所需的依赖
RUN npm install --production
ENV HOST=0.0.0.0
# 暴露端口
EXPOSE 3000

# 启动应用
CMD ["npm", "start"]

2、创建.dockerignore   前面有个.   不要漏掉,用来排出不需要进入的文件,代码如下:

node_modules
npm-debug.log
Dockerfile
.dockerignore
.git
.gitignore

3、执行下面命令,记得结尾有个.

docker build -t 容器名称 .

4、容器就创建好了,只需要启动一下就好了

docker run -p 3000:3000 容器名称  

5、部署到服务器,首先将docker镜像下载至本地

docker save -o 保存至本地的名称.tar 镜像的id

 6、将本地的下载好的镜像tar放到服务器上,然后在服务器上执行

docker load -i /opt/文件名称.tar

7、然后运行就好啦

docker run -d -p 3000:3000 d83d42f5399d


网站公告

今日签到

点亮在社区的每一天
去签到