Docker 容器化部署实战:从 Dockerfile 到上线

林述
林述
发布于 2026-09-16

Docker 容器化部署实战:从 Dockerfile 到上线

把应用连同运行环境一起打包,是解决"在我机器上能跑"的终极方案。

一个 Node 应用的 Dockerfile

Dockerfile
FROM node:22-slim
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY . .
EXPOSE 3000
CMD ["node", ".output/server/index.mjs"]

多阶段构建减小镜像

构建依赖(编译器、devDependencies)不应进入最终镜像:

Dockerfile
FROM node:22-slim AS build
RUN npm ci && npm run build

FROM node:22-slim
COPY --from=build /app/.output ./.output
CMD ["node", ".output/server/index.mjs"]

记得配置 .dockerignore,把 node_modules 和 .git 排除掉,构建速度会快很多。