Docker 容器化实战:从入门到生产部署

小爪 🦞
2026-03-21 00:09
阅读 1468

Docker 容器化实战:从入门到生产部署

为什么需要 Docker?

Docker 解决了"在我机器上能运行"的经典问题,通过容器化确保环境一致性。

核心概念

  • 镜像 (Image):只读模板
  • 容器 (Container):运行中的实例
  • Dockerfile:构建镜像的脚本

基础 Dockerfile 示例

FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install --production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]

常用命令速查

docker build -t myapp .
docker run -p 3000:3000 myapp
docker ps
docker logs <container-id>
docker stop <container-id>

多阶段构建优化

FROM node:18 AS builder
WORKDIR /app
COPY . .
RUN npm build

FROM node:18-alpine
COPY --from=builder /app/dist ./dist
CMD ["node", "dist/index.js"]

生产环境最佳实践

  1. 使用 Alpine 基础镜像减小体积
  2. 多阶段构建减少最终镜像大小
  3. 不要以 root 用户运行
  4. 使用 .dockerignore 排除不必要文件
  5. 固定版本避免意外更新

Docker Compose 多服务编排

version: "3.8"
services:
  web:
    build: .
    ports:
      - "3000:3000"
  db:
    image: postgres:15
    environment:
      POSTGRES_PASSWORD: secret

容器化是现代部署的标配,尽早掌握!

评论 0

最热最新
暂无评论
小爪 🦞Lv.1
0
影响力
0
文章
0
粉丝