Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

project-containerize项目容器化

Agent Skill

project-containerize 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,138

周安装

90

GitHub Stars

公开资料未说明

下载量

749
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:project-containerize(项目容器化)
来源仓库:https://github.com/zhuyifeiruichuang/project-containerize
安装命令:
openclaw skills install project-containerize
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install project-containerize

简介

为项目自动生成 Docker 与 Compose 部署方案。

  • 适用于快速容器化适配与本地开发环境搭建。project-containerize 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 分析代码结构与依赖关系,输出优化后的 Dockerfile 与 yaml 配置。
  • 可能引入镜像体积或安全风险,生产环境建议二次审查基础镜像。
  • 网络端口与卷挂载需根据实际部署拓扑调整,避免冲突。

SKILL.md

title
项目容器化适配
description
对项目进行完整的容器化适配。自动检测分析项目代码和文档,配置和优化代码容器化打包方案,生成专用Dockerfile,生成专用compose.yaml用于快捷部署,输出说明文档,最终生成适配项目的容器化部署方案。触发词:容器化、Docker、docker run、docker-compose、Dockerfile、容器部署、镜像打包、生成 Dockerfile、创建 Dockerfile、自动 Dockerfile、项目容器化、容器化适配、容器化改造
author
AI Assistant
version
4.0

项目容器化适配

本 Skill 用于分析项目代码结构,生成代码打包和容器化部署所需的完整方案。

工作流程

阶段1:分析项目代码

目标:全面了解项目结构、技术栈、文档和现有配置

  1. 分析项目结构

- 使用 list_dir 查看项目根目录结构 - 识别项目类型(Python/Node.js/Java/Go/Rust/PHP/Ruby/其他) - 检测是否为多组件/微服务项目 - 识别各组件目录(如 services/apps/packages/src/ 等)

  1. 分析项目文档

- 读取 README.md 了解项目概述 - 查找并分析部署相关文档: - DEPLOY.mddeploy.md部署指南.md - INSTALL.mdinstall.md安装说明.md - docs/deploy*docs/install* - 查找配置参考文档: - CONFIG.mdconfig.md配置说明.md - .env.example.env.template - application*.ymlapplication*.yamlapplication*.properties(Java) - config/ 目录下的配置文件

  1. 分析现有 Dockerfile

- 搜索项目中的 Dockerfile:search_file 查找 **/Dockerfile* - 读取每个 Dockerfile 内容 - 分类 Dockerfile 用途: - 打包用:包含 FROM mavenFROM nodepip installnpm installmvn build 等构建指令 - 部署用:仅包含 COPYADD 制品、设置运行环境 - 开发用:包含 VOLUME、调试工具、热重载配置 - 其他:如数据库初始化、工具镜像等 - 记录现有 Dockerfile 的基础镜像、暴露端口、环境变量等关键信息

  1. 分析配置文件

- 识别各组件使用的配置文件: - 环境变量文件:.env*config.env - 应用配置文件:*.yml*.yaml*.json*.properties*.conf - 专用配置目录:config/conf/settings/ - 记录配置文件路径和用途 - 分析配置文件中哪些需要外部化(数据库连接、API 密钥等)

  1. 输出分析报告

- 创建 deploy/analysis-report.md,包含: - 项目类型和技术栈 - 组件结构(如果是多组件项目) - 现有 Dockerfile 分析(类型、用途、可复用性) - 配置文件清单及挂载建议 - 部署依赖(数据库、缓存、消息队列等)


阶段2:项目代码打包

目标:创建打包环境,生成可部署的制品

  1. 确定制品类型

根据项目语言确定打包产物:

语言制品类型制品路径示例
Java (Maven)JAR 文件target/*.jar
Java (Gradle)JAR 文件build/libs/*.jar
Node.js (前端)静态文件dist/build/
Node.js (后端)源码+依赖node_modules/ + src/
Python源码+依赖*.py + requirements.txt
Go二进制文件bin/* (可执行文件)
Rust二进制文件target/release/*
PHP源码*.phppublic/
Ruby源码+Gem*.rbGemfile*
  1. 创建打包 Dockerfile

- 文件路径:deploy/Dockerfile.build - 基础镜像选择项目实际使用的版本: - Python:python:{version}-slim - Node.js:node:{version}-alpine - Java:maven:{version}-eclipse-temurin-{jdk}-alpinegradle:{version}-jdk{jdk}-alpine - Go:golang:{version}-alpine - Rust:rust:{version}-alpine - 包含完整的构建步骤 - 使用多阶段构建,最终阶段只保留制品

  1. 创建打包 Compose 文件

- 文件路径:deploy/compose.build.yaml - 配置 volume 将制品导出到本地 deploy/artifacts/ 目录 - 示例:

     services:
       builder:
         build:
           context: ..
           dockerfile: deploy/Dockerfile.build
         volumes:
           - ./artifacts:/output
  1. 执行打包

- 使用 execute_command 运行:docker compose -f deploy/compose.build.yaml up --build - 确认制品已生成在 deploy/artifacts/ 目录

  1. 创建打包说明文档

- 文件路径:deploy/BUILD.md - 包含: - 打包前置条件 - 打包命令 - 制品说明 - 常见问题排查


阶段3:创建项目组件部署用的 Dockerfile

目标:创建仅用于运行制品的最小化 Dockerfile

核心原则

  1. 仅复制制品:禁止将源代码复制到容器内
  2. 最小依赖:只安装运行软件所必需的额外软件
  3. 遵循项目要求:如果项目明确要求使用非 root 用户,则配置非 root 用户;默认使用 root 用户
  4. 保留必要脚本:如果项目要求必须使用特定脚本或文件,按要求复制到容器中
  1. 创建部署 Dockerfile

- 文件路径:deploy/Dockerfile - 基础镜像选择运行时用镜像: - Java:eclipse-temurin:{jdk}-jre-alpine - Node.js:node:{version}-alpine - Python:python:{version}-slim - Go:gcr.io/distroless/static:nonrootalpine:latest - 前端静态:nginx:alpine - 用户配置策略: - 检查阶段1分析结果中是否有用户运行要求 - 如果项目文档明确要求非 root 运行,添加:

       RUN addgroup -g 1000 appgroup && adduser -u 1000 -G appgroup -s /bin/sh -D appuser
       USER appuser

- 否则,默认使用 root 用户运行 - 只从 artifacts/ 复制制品 - 暴露必要的端口 - 设置健康检查(如果适用)

  1. 创建部署说明文档

- 文件路径:deploy/DEPLOY.md - 包含: - 镜像构建命令 - 运行命令 - 环境变量说明 - 端口映射说明


阶段4:生成模板配置文件

目标:根据阶段1的分析,准备配置文件模板

  1. 分析配置需求

- 参考阶段1的分析报告中的配置文件清单 - 识别需要外部化的配置项(数据库连接、API 密钥、服务地址等)

  1. 复制原有配置文件

- 如果组件有专用的配置文件(如 application.ymlconfig.json.env 等): - 将原有配置文件复制到 deploy/config/ 目录 - 保持原有文件结构和命名 - 示例:

     deploy/config/
     ├── application.yml          # 从项目 src/main/resources/ 复制
     ├── logback.xml             # 从项目 src/main/resources/ 复制
     └── nginx.conf              # 如果是前端项目
  1. 创建环境变量模板

- 文件路径:deploy/.env - 包含所有需要外部化的配置项 - 示例:

     # 数据库配置
     DB_HOST=localhost
     DB_PORT=3306
     DB_NAME=myapp
     DB_USER=root
     DB_PASSWORD=changeme

     # 应用配置
     APP_PORT=8080
     LOG_LEVEL=info
  1. 创建配置说明文档

- 文件路径:deploy/CONFIG.md - 包含: - 配置文件清单及用途 - 每个配置项的说明 - 如何修改配置 - 配置热加载说明(如果支持)


阶段5:生成标准部署方案

目标:生成完整的部署脚本和编排文件,包含配置文件挂载

  1. 生成 docker-run 脚本

- 文件路径:deploy/docker-run.sh - 包含完整的 docker run 命令 - 必须包含配置文件挂载

     docker run -d \
       --name myapp \
       -p 8080:8080 \
       -v "$(pwd)/config/application.yml:/app/config/application.yml:ro" \
       -v "$(pwd)/config/logback.xml:/app/config/logback.xml:ro" \
       --env-file .env \
       myapp:latest
  1. 生成 Compose 文件

- 文件路径:deploy/compose.yaml - 包含: - 应用服务配置 - 配置文件挂载(参考阶段1分析结果) - 环境变量文件引用 - 端口映射 - 健康检查 - 资源限制(可选) - 示例:

     services:
       app:
         build:
           context: ..
           dockerfile: deploy/Dockerfile
         container_name: myapp
         ports:
           - "${APP_PORT:-8080}:8080"
         env_file:
           - .env
         volumes:
           # 挂载配置文件到容器内指定路径
           - ./config/application.yml:/app/config/application.yml:ro
           - ./config/logback.xml:/app/config/logback.xml:ro
         healthcheck:
           test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
           interval: 30s
           timeout: 10s
           retries: 3
         restart: unless-stopped
  1. 创建快速参考文档

- 文件路径:deploy/QUICKSTART.md - 包含一键部署命令


阶段6:输出标准文档

目标:生成完整的容器化说明文档

  1. 创建主文档 CONTAINERIZATION.md

- 文件路径:deploy/CONTAINERIZATION.md - 包含以下章节:

1. 项目概述 - 项目名称、类型、技术栈 - 组件结构说明

2. 代码打包 - 如何执行代码打包 - 打包命令详解 - 制品说明 - 打包 Dockerfile 说明

3. 容器镜像构建 - 如何构建部署镜像 - 部署 Dockerfile 说明 - 用户权限说明(root 或非 root)

4. 配置管理 - 配置文件清单 - 配置文件挂载路径说明 - 如何修改配置 - 环境变量说明

5. 部署指南 - 使用 docker run 部署 - 使用 docker compose 部署 - 验证部署成功的方法

6. 目录结构说明

   deploy/
   ├── Dockerfile              # 部署用 Dockerfile
   ├── Dockerfile.build        # 打包用 Dockerfile
   ├── compose.yaml            # 部署编排
   ├── compose.build.yaml      # 打包编排
   ├── docker-run.sh           # 部署脚本
   ├── .env                    # 环境变量
   ├── artifacts/              # 打包制品
   ├── config/                 # 配置文件目录
   │   ├── application.yml     # 应用配置
   │   └── ...
   ├── CONTAINERIZATION.md     # 本文档
   ├── QUICKSTART.md           # 快速参考
   ├── BUILD.md                # 打包说明
   ├── DEPLOY.md               # 部署说明
   ├── CONFIG.md               # 配置说明
   └── analysis-report.md      # 分析报告
  1. 创建快速开始文档

- 文件路径:deploy/QUICKSTART.md - 包含一键命令:

     # 1. 代码打包
     cd deploy && docker compose -f compose.build.yaml up --build

     # 2. 启动服务
     docker compose up -d
  1. 汇总所有文档

- 确保所有文档相互引用,形成完整的文档体系


输出文件清单

执行本 Skill 后,将在项目目录下创建以下结构:

deploy/
├── Dockerfile                    # 部署用 Dockerfile(仅制品)
├── Dockerfile.build              # 打包用 Dockerfile
├── compose.yaml                  # 部署编排(含配置挂载)
├── compose.build.yaml            # 打包编排
├── docker-run.sh                 # 部署脚本
├── .env                          # 环境变量
├── artifacts/                    # 打包制品目录
├── config/                       # 配置文件目录
│   ├── .env.template
│   └── [项目原有配置文件]
├── CONTAINERIZATION.md           # ⭐ 完整容器化说明
├── QUICKSTART.md                 # 快速参考
├── BUILD.md                      # 打包说明
├── DEPLOY.md                     # 部署说明
├── CONFIG.md                     # 配置说明
└── analysis-report.md            # 阶段1分析报告

制品类型参考

项目类型打包制品部署基础镜像备注
Java (Maven/Gradle)JAR 文件eclipse-temurin:{jdk}-jre-alpine多阶段构建
Node.js 前端dist/build/nginx:alpine静态文件服务
Node.js 后端node_modules/ + 源码node:{version}-alpine包含依赖
Python源码 + 依赖python:{version}-slimpip 安装依赖
Go二进制文件gcr.io/distroless/staticalpine静态编译
Rust二进制文件debian:slimalpine静态链接
PHP源码php:{version}-apachenginx:alpine预装扩展
Ruby源码 + Gemruby:{version}-slimbundle 安装

用户权限策略

  • 默认情况:容器内使用 root 用户运行组件
  • 非 root 情况:仅在项目文档明确要求时使用非 root 用户
  • DEPLOY.mdCONTAINERIZATION.md 中明确说明使用的用户权限

配置文件挂载策略

  1. 分析阶段:识别所有配置文件及其在容器内的预期路径
  2. 准备阶段:将原有配置文件复制到 deploy/config/ 目录
  3. 部署阶段:在 compose.yaml 和 docker-run.sh 中挂载配置文件
  4. 文档阶段:在 CONFIG.mdCONTAINERIZATION.md 中详细说明:

- 配置文件清单 - 容器内挂载路径 - 如何修改配置 - 配置生效方式(重启/热加载)

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

93.51%
按下载量换算700

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills