SuperAPI AI 工具集

docker

部署与运维

查看项目

更新于 10-16 07:16

技能介绍

用途:该技能面向 Docker 容器的构建、运行与安全加固,提供 Dockerfile 审查、多阶段构建、Compose 编排、镜像扫描与排障参考。

主要能力与原则:多阶段构建为默认做法,以缩小攻击面和镜像体积;容器应以非 root 用户运行;按变更频率排列指令以优化分层缓存;每个长运行容器必须定义 HEALTHCHECK;镜像推送前须通过安全扫描。

版本核对:使用 docker --version、docker compose version、docker buildx version 查看当前版本。

Dockerfile 审查要点:使用至少两个阶段(builder + runtime);基础镜像用 alpine、slim 或 distroless;避免 latest,固定版本或摘要;文件操作前设置 WORKDIR;尽量精确 COPY;非 root 用户;不在层中放入密钥;仅 EXPOSE 必要端口;定义 HEALTHCHECK;清理安装缓存;用 docker scout 或 Trivy 扫描。

效率:提供 .dockerignore(排除 .git、node_modules、*.log、.env);依赖先于代码;合理合并 RUN;启用 BuildKit。

Compose:以 docker-compose.yml 作生产基线,用 docker-compose.override.yml 承载开发配置;用 docker compose config 校验合并与 profile。

安全扫描:可使用 docker scout quickview/cves、trivy image、trivy filesystem、snyk container test。

常见反模式:node:latest、以 root 运行、无 .dockerignore 的 COPY . .、不清理 apt 缓存、无健康检查、ENV 中放密钥、单阶段构建。

CI/CD:可用 buildx 构建后运行扫描(如 docker scout cves --exit-code --only-severity critical,high)与测试。

排障:构建失败可用 --no-cache 隔离;镜像过大可用 dive 分析;容器秒退查 CMD/ENTRYPOINT 与日志;权限错误核对 USER 与 COPY --chown;健康检查失败用 docker exec 验证。

限制:具体版本号、价格、平台兼容性与效果数据暂未提供;资料中的示例命令需结合自身环境核对后使用。