SuperAPI AI 工具集

docker

部署与运维

查看项目

更新于 10-15 23:31

技能介绍

用途:为使用 Yarn 4 Berry 的 Node.js monorepo 提供 Docker 容器化最佳实践参考,覆盖多阶段构建、Compose 配置、镜像优化与容器安全。

主要能力与原则:使用 Alpine 基础镜像,最终阶段仅保留运行时依赖;按系统依赖→包清单→安装→源码→构建的顺序排列以利用层缓存;创建非 root 应用用户,生产环境不以 root 运行;每个容器只运行一个进程,多服务用 Compose 编排;每个服务配置健康检查,复用现有 /health 端点。

镜像优化要点:以 node:22-alpine 为基础;多阶段构建排除构建工具;安装后执行 yarn cache clean;.dockerignore 排除 .git、node_modules、.md、.env、.claude、tests、coverage、.turbo;使用 --production 仅装运行时依赖;固定基础镜像版本而非 latest。

容器安全要点:以非 root 用户运行(addgroup --system app && adduser --system --ingroup app app);不在镜像中存密钥,改用环境变量或密钥管理;用 docker scout cves <image> 扫描镜像;在 compose 中设置 mem_limit、cpus 资源限制;尽可能使用只读文件系统 read_only: true;丢弃能力 cap_drop: [ALL]。

常用命令:docker compose build api、docker compose up -d、docker compose logs -f api、docker compose exec api sh、docker images | grep myapp、docker system df、docker system prune -a、docker stats。

参考文件:编写或审查 monorepo Dockerfile 时加载 references/monorepo-dockerfile.md;配置开发或生产 docker-compose 时加载 references/compose-configs.md。

限制:资料未提供具体版本兼容范围、性能数据或收费信息。