← 返回博客
/工程

Docker 容器化入门

2 分钟阅读

Docker 容器化入门

容器让”在我机器上能跑”成为历史。本文用一个 Node 服务带你走完容器化全流程。

编写 Dockerfile

FROM node:22-alpine AS build
WORKDIR /app
COPY package.json bun.lock ./
RUN bun install --frozen-lockfile
COPY . .
RUN bun run build

FROM node:22-alpine
WORKDIR /app
COPY --from=build /app/dist ./dist
ENV NODE_ENV=production
EXPOSE 3000
CMD ["node", "dist/server.js"]

多阶段构建让最终镜像只包含运行所需文件。

构建与运行

docker build -t my-app .
docker run -p 3000:3000 --env-file .env my-app

Compose 编排

本地开发一键拉起多服务:

services:
  web:
    build: .
    ports: ["3000:3000"]
    depends_on:
      - db
  db:
    image: postgres:16
    environment:
      POSTGRES_PASSWORD: devpass

小结

容器化的收益在一致性:镜像即部署单元,环境差异被彻底抹平。从多阶段构建开始,逐步引入镜像仓库与 CI 流水线。

加载中…