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 test4. 安全扫描
- 引入
trivy、grype、docker 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自动化