SuperAPI AI 工具集

docker-init

部署与运维

查看项目

更新于 10-16 00:29

技能介绍

用途:扫描项目清单文件(package.json、pyproject.toml、requirements.txt、Gemfile、go.mod、Cargo.toml 等)与源码中的连接串,自动生成生产可用的 docker-compose.yml,并可选生成 Dockerfile 与生产覆盖文件。

主要能力:按实际依赖映射官方镜像并固定标签;为每个服务配置 healthcheck、depends_on 健康条件、security_opt: [no-new-privileges:true]、deploy.resources.limits 与 restart: unless-stopped;凭据用 ${VAR} 引用 .env;数据使用命名卷;按需划分网络;Kafka 默认 KRaft 模式。生成 Dockerfile 时采用多阶段构建、锁定版本的基础镜像、先装依赖后拷源码、非 root 用户、exec 形式 CMD,并生成 .dockerignore。

使用方式:/docker-init 自动检测生成;--services postgres,redis,meilisearch 指定附加服务;--with-dockerfile 同时生成 Dockerfile 与 .dockerignore;--prod 生成 docker-compose.prod.yml 覆盖文件。生成前会读取已有 Docker 文件并询问是就地更新还是重新生成。

验证:运行 hadolint Dockerfile、docker build、docker compose config --quiet,并确认 .dockerignore 存在且 .env 已加入 .gitignore;工具缺失时跳过并告知用户。

限制:仅使用已知官方镜像,不编造镜像名或标签;不在文件中写入密钥;不覆盖未读取的已有服务定义;最多修复 3 轮后报告仍失败项;需用户自行向 .env 填入真实密钥。