Token导航 LogoToken导航

Agent Skill · 前端设计

docker-to-sealos(Docker TO sealos 部署)

用于辅助云资源、部署、容器、基础设施和运维自动化任务。它适合让 Agent 检查配置、整理部署步骤、分析资源状态、生成排障思路或辅助云服务接入。使用时需要明确目标环境、账号权限、区域和资源组,区分本地测试与生产操作;涉及删除资源、重启服务、修改网络或权限配置时,应先确认影响范围。

docker-to-sealos 是前端设计类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为需要联网;许可证信息还不明确,第三方扫描有未通过项,按安装量在前端设计类的 10,216 个 Skill 里排第 4,229。

总安装 954周安装 41GitHub Stars 1下载 335核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:docker-to-sealos(Docker TO sealos 部署)
来源仓库:https://github.com/zjy365/seakills
仓库路径:skills/docker-to-sealos
安装命令:
npx skills add https://github.com/zjy365/seakills --skill docker-to-sealos
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/zjy365/seakills --skill docker-to-sealos

这个 Skill 是做什么的

前端设计类 Skill 关注页面结构、视觉规范和组件写法,输出通常是可运行的界面代码。

将 Docker Compose 配置无损转换为 Sealos 生产模板,保持服务拓扑一致。自动处理依赖关系映射与资源配额转换,输出合规的 YAML 清单文件。内置转换规则优先级体系,确保高优先级配置覆盖低优先级默认值。需验证目标平台资源规格是否满足源环境需求,避免因配置差异导致部署失败。

docker-to-sealos 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/docker-to-sealos

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/zjy365/seakills --skill docker-to-sealos;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

docker-to-sealos 怎么安装?

在终端执行 npx skills add https://github.com/zjy365/seakills --skill docker-to-sealos。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

docker-to-sealos 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

docker-to-sealos 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

docker-to-sealos 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

docker-to-sealos 用的人多吗?

公开数据是累计安装 954 次,近一周安装 41 次,下载 335 次,GitHub 1 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

docker-to-sealos 安全吗?

第三方扫描有未通过项,风险较高。除非你确认过源码,否则不建议直接安装到常用环境。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理前端设计类任务、又不想每次都手写提示词的人。

不太适合

  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

前端设计类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
frontend-design

前端设计 · Codex、Claude

8,823,360126,072只读MIT通过
vercel-composition-patterns

Vercel 组合模式 · Codex、Claude

3,858,81625,893需要联网MIT通过
vercel-react-native-skills

Vercel React native skills 前端 · Codex、Claude

2,468,66425,878只读MIT通过
adapt

adapt 搜索 · Codex、Claude

2,027,04023,125操作浏览器未明确通过
bolder

bolder 分析 · Codex、Claude

2,004,28823,130只读未明确通过
docker-to-sealos

Docker TO sealos 部署 · 本页

9541需要联网未明确未通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Docker to Sealos Template Converter

Overview

Convert Docker Compose files or installation docs into production-grade Sealos templates. Execute end-to-end automatically (analysis, conversion, validation, output) without asking users for missing fields.

Governance and Rule Priority

Use the following precedence to prevent rule drift:

  1. SKILL.md MUST rules (this file)
  2. references/sealos-specs.md and references/database-templates.md
  3. references/conversion-mappings.md and references/example-guide.md

If lower-priority references conflict with higher-priority MUST rules, update the lower-priority files. Do not keep conflicting examples.

Workflow

Step 1: Analyze input

Extract from Docker Compose/docs:

  • application services vs database services
  • volumes/config mounts/object storage requirements
  • ports, dependencies, service communication
  • env vars and secret usage
  • resource limits/requests and health checks
  • if official Kubernetes installation docs/manifests are available, also extract app-runtime behavior from them (bootstrap admin fields, external endpoint/protocol assumptions, health probes, startup/init flow)

Step 2: Infer metadata

Infer and normalize:

  • app name, title, description, categories
  • official URL, gitRepo, icon source
  • locale/i18n metadata

Step 3: Plan resources in strict order

Generate resources in this order:

  1. Template CR
  2. ObjectStorageBucket (if needed)
  3. Database resources (ServiceAccount → Role → RoleBinding → Cluster → Job if needed)
  4. App workload resources (ConfigMap/Secret → Deployment/StatefulSet → Service → Ingress)
  5. App resource (last)

Step 4: Apply conversion rules

Apply field-level mappings from references/conversion-mappings.md, including:

  • image pinning and annotation mapping
  • port/service/ingress conversion
  • env var conversion and dependency ordering
  • storage conversion and vn naming (scripts/path_converter.py)
  • service-name to Kubernetes FQDN conversion
  • for DB URL/DSN envs (for example *_DATABASE_URL, *_DB_URL), when Kubeblocks endpoint is host:port, inject host/port/username/password via approved secretKeyRef envs and compose the final URL with $(VAR) expansion
  • edge gateway normalization: when Compose includes Traefik-like edge proxy plus business services, skip the proxy workload and expose business services via Sealos Ingress directly
  • TLS offload normalization for Sealos Ingress: when a business service exposes both 80 and 443, drop 443 from workload/service ports and remove in-container TLS certificate mounts (for example /etc/nginx/ssl, /etc/ssl, /certs) unless official Kubernetes docs explicitly require HTTPS backend-to-service traffic
  • prefer scripts/compose_to_template.py --kompose-mode always as deterministic conversion entrypoint (require kompose for reproducible workload shaping)
  • when official Kubernetes installation docs/manifests exist, perform a dual-source merge: use Compose as baseline topology, then align app-runtime semantics with official Kubernetes guidance

Step 5: Apply database strategy

  • PostgreSQL must follow the pinned version and structure requirements.
  • MySQL/MongoDB/Redis/Kafka must use templates and secret naming from references/database-templates.md.
  • Add DB init Job/initContainer when application database bootstrap requires it.
  • For PostgreSQL custom databases (non-postgres), the init Job must wait for PostgreSQL readiness before execution and create the target database idempotently.

Step 6: Generate output files

Always produce:

  • template/<app-name>/index.yaml
  • template/<app-name>/logo.<ext> when official icon is resolvable

Step 7: Validate before output

Run validator and self-tests before delivering template output. If validation fails, fix template/rules/examples first.

MUST Rules (Condensed)

Naming and metadata

  • Template metadata.name must be hardcoded lowercase; do not use ${{defaults.app_name}}.
  • Template CR folder name must match metadata.name.
  • Template CR must include required metadata fields (title, url, gitRepo, author, description, icon, templateType, locale, i18n, categories).
  • Template spec.readme must be https://raw.githubusercontent.com/labring-actions/templates/kb-0.9/template/<app-name>/README.md.
  • Template spec.i18n.zh.readme must be https://raw.githubusercontent.com/labring-actions/templates/kb-0.9/template/<app-name>/README_zh.md.
  • icon URL must point to template repo raw path for this app on kb-0.9 branch.
  • i18n.zh.description must be written in Simplified Chinese.
  • Omit i18n.zh.title when it is identical to title.
  • categories must only use predefined values (tool, ai, game, database, low-code, monitor, dev-ops, blog, storage, frontend, backend).

App resource

  • App resource must use spec.data.url.
  • App resource spec.displayType must be normal.
  • App resource spec.type must be link.
  • Never use spec.template in App resource.
  • cloud.sealos.io/app-deploy-manager label value must equal resource metadata.name.
  • metadata.labels.app label value must equal resource metadata.name for managed app workloads.
  • containers[*].name must equal workload metadata.name for managed app workloads.
  • Application Service resources must define metadata.labels.app and metadata.labels.cloud.sealos.io/app-deploy-manager, and both labels must match spec.selector.app.
  • Component-scoped ConfigMap resources must define metadata.labels.app and metadata.labels.cloud.sealos.io/app-deploy-manager, and both labels must match metadata.name.
  • Application Service resources must use the same component name across metadata.name, metadata.labels.app, metadata.labels.cloud.sealos.io/app-deploy-manager, and spec.selector.app.
  • Application Ingress resources must use the same component name across metadata.name, metadata.labels.cloud.sealos.io/app-deploy-manager, and backend service.name.
  • Service spec.ports[*].name must be explicitly set (required for multi-port services).
  • HTTP Ingress must include required nginx annotations (kubernetes.io/ingress.class, nginx.ingress.kubernetes.io/proxy-body-size, nginx.ingress.kubernetes.io/server-snippet, nginx.ingress.kubernetes.io/ssl-redirect, nginx.ingress.kubernetes.io/backend-protocol, nginx.ingress.kubernetes.io/client-body-buffer-size, nginx.ingress.kubernetes.io/proxy-buffer-size, nginx.ingress.kubernetes.io/proxy-send-timeout, nginx.ingress.kubernetes.io/proxy-read-timeout, nginx.ingress.kubernetes.io/configuration-snippet) with expected defaults.
  • When official application health checks are available, managed workloads must define livenessProbe, readinessProbe, and (for slow bootstrap apps) startupProbe, aligned with official endpoints/commands.

Official Kubernetes alignment

  • If official Kubernetes installation docs/manifests are available, conversion must reference them and align critical runtime settings before emitting template artifacts.
  • When official Kubernetes docs/manifests and Compose differ, prefer official Kubernetes runtime semantics for app behavior (bootstrap admin fields, external endpoint/env/protocol, health probes), unless doing so violates higher-priority Sealos MUST/security constraints.

Images and pull policy

  • Do not use :latest.
  • Resolve versions with crane: prefer an explicit version tag (for example v2.2.0), and fallback to digest pin only when a deterministic version tag is unavailable.
  • Avoid floating tags (for example :v2, :2.1, :stable); use an explicit version tag or digest.
  • Managed workload image references must be concrete and must not contain Compose-style variable expressions (for example ${VAR}, ${VAR:-default}); resolve to explicit tag or digest before emitting template artifacts.
  • Application originImageName must match container image.
  • Managed app workloads must reference the app-scoped image pull Secret ${{defaults.app_name}} via template.spec.imagePullSecrets.
  • The registry pull Secret is runtime-managed by sealos-deploy using local gh CLI credentials for private GHCR images; do not expose raw registry credential inputs in generated templates.
  • All containers must explicitly set imagePullPolicy: IfNotPresent.

Storage

  • Do not use emptyDir.
  • Use persistent storage patterns (volumeClaimTemplates) where storage is needed.
  • PVC request must be <= 1Gi unless source spec explicitly requires less.
  • ConfigMap keys and volume names must follow vn naming (scripts/path_converter.py).

Env and secrets

  • Non-database sensitive values/inputs use direct env[].value.
  • Business containers must source database connection fields (endpoint, host, port, username, password) from approved Kubeblocks database secrets via env[].valueFrom.secretKeyRef.
  • Business containers must not use custom env/volume Secret references except approved Kubeblocks database secrets and object storage secrets.
  • A dedicated app-scoped registry pull Secret is allowed and should be referenced only through template.spec.imagePullSecrets.
  • Database connection/bootstrap may use Kubeblocks-provided secrets, and reserved Kubeblocks database secret names must not be redefined by custom Secret resources.
  • Env vars must be declared before referenced (for example password before URL composition).
  • Follow official app env var naming; do not invent prefixes.
  • When the application requires its public URL configured via a file-based config system (e.g., node-config config/default.json, PHP config files), create a ConfigMap containing the config file with the public URL set to https://${{defaults.app_host}}.${{SEALOS_CLOUD_DOMAIN}}, and mount it to the application's config directory. The ConfigMap must follow standard naming and label conventions.
  • For PostgreSQL custom databases (non-postgres), include ${{defaults.app_name}}-pg-init Job and implement startup-safe/idempotent creation logic (readiness wait + existence check before create).

Database-specific constraints

  • PostgreSQL version: postgresql-16.4.0.
  • PostgreSQL API: apps.kubeblocks.io/v1alpha1.
  • PostgreSQL RBAC unified naming: ${{defaults.app_name}}-pg.
  • PostgreSQL RBAC requires app.kubernetes.io/instance and app.kubernetes.io/managed-by labels.
  • PostgreSQL role wildcard permission requirement remains as defined in current spec.
  • PostgreSQL cluster must include required labels/fields (kb.io/database: postgresql-16.4.0, clusterdefinition.kubeblocks.io/name: postgresql, clusterversion.kubeblocks.io/name: postgresql-16.4.0, clusterVersionRef: postgresql-16.4.0, disableExporter: true, enabledLogs: [running], switchPolicy.type: Noop, serviceAccountName).
  • MongoDB cluster must follow upgraded structure (componentDef: mongodb, serviceVersion: 8.0.4, labels kb.io/database and app.kubernetes.io/instance).
  • MySQL cluster must follow upgraded structure (kb.io/database: ac-mysql-8.0.30-1, clusterDefinitionRef: apecloud-mysql, clusterVersionRef: ac-mysql-8.0.30-1, tolerations: []).
  • Redis cluster must follow upgraded structure (componentDef: redis-7, componentDef: redis-sentinel-7, serviceVersion: 7.2.7, main data PVC 1Gi, topology replication).
  • Database cluster component resources must use limits(cpu=500m,memory=512Mi) and requests(cpu=50m,memory=51Mi) unless source docs explicitly require otherwise.
  • Secret naming:

- MongoDB: ${{defaults.app_name}}-mongodb-account-root - Redis: ${{defaults.app_name}}-redis-redis-account-default - Kafka: ${{defaults.app_name}}-broker-account-admin - Do not use legacy naming outside supported exceptions.

Baseline runtime defaults

Unless source docs explicitly require otherwise, use:

  • container limits: cpu=200m, memory=256Mi
  • container requests: cpu=20m, memory=25Mi
  • revisionHistoryLimit: 1
  • automountServiceAccountToken: false

Defaults vs inputs

  • defaults for generated values (app_name, app_host, random passwords/keys).
  • inputs only for truly user-provided operational values (email/SMTP/external API keys, etc.).
  • inputs.description must be in English.

Validation Commands

Run all checks before final response:

  1. python scripts/path_converter.py --self-test
  2. python scripts/test_check_consistency.py
  3. python scripts/test_compose_to_template.py
  4. python scripts/test_check_must_coverage.py
  5. python scripts/check_consistency.py --skill SKILL.md --references references --rules-file references/rules-registry.yaml
  6. python scripts/check_consistency.py --skill SKILL.md --references references --rules-file references/rules-registry.yaml --artifacts template/<app-name>/index.yaml
  7. python scripts/check_must_coverage.py --skill SKILL.md --mapping references/must-rules-map.yaml --rules-file references/rules-registry.yaml
  8. (CI / one-shot) python scripts/quality_gate.py (requires template/*/index.yaml by default; set DOCKER_TO_SEALOS_ALLOW_EMPTY_ARTIFACTS=1 only for dev/debug without artifacts)

check_consistency.py is registry-driven. Keep references/rules-registry.yaml in sync with implemented rules. Registry rule entries support severity and optional scope.include_paths metadata.

Output Contract

When conversion is complete, provide:

  1. brief conversion summary
  2. target file path (template/<app-name>/index.yaml)
  3. complete template YAML
  4. key decisions only where ambiguity existed

Reference Navigation (Progressive Loading)

Load only needed references for current task:

  • references/sealos-specs.md

- authoritative ordering, labels, App/Ingress/ConfigMap conventions

  • references/conversion-mappings.md

- Docker→Sealos field-level mappings and edge conversions

  • references/database-templates.md

- database templates, RBAC structures, secret naming patterns

  • references/example-guide.md

- examples and pattern walkthroughs (non-authoritative)

  • references/rules-registry.yaml

- machine-readable validation scope/rules list

  • references/must-rules-map.yaml

- MUST bullet to enforcement mapping (rule or manual) for drift control

Script Utilities

  • scripts/path_converter.py

- convert paths to vn names - self-test support for regression checks

  • scripts/compose_to_template.py

- deterministic compose/docs-to-template generator entrypoint - supports --kompose-mode auto|always|never (always is default) to reuse kompose convert workload shapes - emits template/<app-name>/index.yaml

  • scripts/test_compose_to_template.py

- regression tests for compose conversion behavior

  • scripts/check_consistency.py

- registry-driven consistency validator

  • scripts/test_check_consistency.py

- regression tests for validator behavior

  • scripts/check_must_coverage.py

- validate MUST bullet coverage mapping against registry rules

  • scripts/test_check_must_coverage.py

- regression tests for MUST coverage validator

Edge Policies

  • Never ask users for missing fields; infer from compose/docs and platform conventions.
  • Keep App resource in spec.data.url format; never use spec.template.
  • Keep App resource spec.displayType: normal and spec.type: link; do not infer alternative enum values.
  • Keep business-env, object storage, and DB-secret policy consistent with MUST rules.
  • Prefer Sealos-managed ingress over bundled edge proxies: if a Traefik gateway is only acting as ingress/front-proxy and at least one business service exists, do not emit Traefik workload resources.
  • Prefer gateway TLS termination in Sealos Ingress over in-container TLS: for dual-port HTTP/HTTPS workloads, keep HTTP service port and remove redundant HTTPS/certificate mounts unless official docs require HTTPS backend.
  • Prefer fixing references/examples over adding exceptions when conflicts appear.
  • If official Kubernetes installation docs/manifests exist for the target app, do not ignore them; use them to refine runtime semantics beyond Compose defaults.

平台分布

Codex

36.5%
按下载量换算122

Claude

30.36%
按下载量换算102

Cursor

19.45%
按下载量换算65

Gemini CLI

8.02%
按下载量换算27

安全审计

Gen Agent Trust Hub

可疑

Socket

可疑

Snyk

未通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills