SorryToPerson logo
返回
Docker2026-04-15·8 分钟

Docker 与 CI/CD 集成

讲解如何在 CI/CD 流程中构建、测试、扫描和发布 Docker 镜像。

Docker 与 CI/CD 集成

1. 常见 CI/CD 流程

  • 构建镜像
  • 运行测试
  • 扫描安全漏洞
  • 推送镜像
  • 部署到环境

2. 构建镜像

bash
docker build -t registry.example.com/myorg/myapp:${CI_COMMIT_SHA} .
  • 使用 commit hash 或语义化版本作为标签。
  • 保持镜像可追溯。

3. 运行自动化测试

  • 在构建后的镜像中运行单元测试、端到端检查或 smoke test。
bash
docker run --rm myapp:${TAG} npm test

4. 安全扫描

  • 引入 trivygrypedocker scan 等工具。
bash
trivy image registry.example.com/myorg/myapp:${TAG}

5. 推送镜像

bash
docker push registry.example.com/myorg/myapp:${TAG}
  • 预先登录私有仓库。
  • 部署前在镜像仓库中留存版本记录。

6. 部署策略

  • 可结合 Kubernetes、Docker Compose 或 Serverless 平台部署。
  • 采用蓝绿/滚动部署,降低发布风险。

7. 缓存与加速

  • 使用 CI 缓存加速镜像层构建(--cache-from)。
  • 在自托管 Runner 上保持重复依赖镜像。

8. 常见实践

  • 将构建产物与发布分离。
  • 在 CI 管道中执行镜像清理,避免过多临时镜像。
  • 编写可复用的构建脚本和模板。
DockerCI/CD自动化