Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

dockerDocker 容器开发

Agent Skill

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

总安装

964

周安装

49

GitHub Stars

158

下载量

388
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/panaversity/agentfactory --skill docker

简介

用于辅助云资源、容器部署和基础设施运维自动化任务。

  • 适合检查配置、整理部署步骤、分析资源状态或生成排障思路。
  • 需明确目标环境、账号权限和资源组,区分测试与生产操作。
  • 涉及删除资源或修改网络配置时,应先评估影响范围。docker 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 使用前建议核对来源站点和维护状态,避免误操作生产环境。

SKILL.md

Docker

Production-grade Docker containerization with security-first defaults.


Resource Detection & Adaptation

Before generating Dockerfiles/Compose, detect the environment:

# Detect host machine memory
sysctl -n hw.memsize 2>/dev/null | awk '{print $0/1024/1024/1024 " GB"}' || \
  grep MemTotal /proc/meminfo | awk '{print $2/1024/1024 " GB"}'

# Detect Docker allocated resources
docker info --format 'Memory: {{.MemTotal}}, CPUs: {{.NCPU}}'

# Detect available disk space
docker system df

Adapt configurations based on detection:

Detected Docker MemoryProfileBuild MemoryContainer Limits
< 4GBConstrained1GB256Mi
4-8GBMinimal2GB512Mi
8-12GBStandard4GB1Gi
> 12GBExtended8GB2Gi

Agent Behavior

  1. Detect Docker resources before generating compose.yaml
  2. Adapt resource limits to available memory
  3. Warn if build may fail due to insufficient resources
  4. Calculate safe limits: docker_memory * 0.6 / container_count

Adaptive Compose Templates

Constrained (< 4GB Docker):

services:
  app:
    deploy:
      resources:
        limits:
          memory: 256M
          cpus: '0.25'
    build:
      args:
        - BUILDKIT_STEP_LOG_MAX_SIZE=10000000

⚠️ Agent should warn: "Docker memory low. Multi-stage builds may fail."

Standard (4-8GB Docker):

services:
  app:
    deploy:
      resources:
        limits:
          memory: 512M
          cpus: '0.5'
        reservations:
          memory: 256M

Extended (> 8GB Docker):

services:
  app:
    deploy:
      resources:
        limits:
          memory: 1G
          cpus: '1.0'
        reservations:
          memory: 512M

Pre-Build Validation

Before running docker build, agent should verify:

# Check available memory
docker info --format '{{.MemTotal}}' | awk '{if ($1 < 4000000000) print "WARNING: Low memory"}'

If constrained: use --memory flag and warn user about potential build failures.


What This Skill Does

Analysis & Detection:

  • Auto-detects runtime, framework, version, entrypoint (no questions)
  • Scans.env files, classifies secrets vs build-args vs runtime config
  • Detects native dependencies, generates correct build deps
  • Identifies missing configs (Next.js standalone, health endpoints)

Generation:

  • Creates multi-stage Dockerfiles customized to YOUR project structure
  • Generates compose.yaml with security defaults (non-root, read-only, resource limits)
  • Adds health endpoints if missing
  • Fixes configuration issues (adds output: 'standalone' to Next.js, etc.)

Validation:

  • Builds both dev and production targets before delivering
  • Verifies health endpoints work
  • Confirms non-root user in production
  • Warns about any secrets that would leak into image
  • Reports image size

Security:

  • Never bakes secrets into images
  • Non-root user by default
  • Minimal attack surface (multi-stage builds)
  • Pinned versions (no :latest)
  • Security scan command included

What This Skill Does NOT Do

  • Generate Kubernetes manifests (use dedicated k8s skill)
  • Create Helm charts (use dedicated helm skill)
  • Handle Bun/Deno (use dedicated skills)
  • Copy templates blindly without customization

Before Implementation

Gather context to ensure successful implementation:

SourceGather
CodebasePackage files, existing Dockerfile,.env patterns
ConversationDev vs production target, base image preferences
Skill ReferencesFramework patterns, multi-stage builds, security
User GuidelinesRegistry conventions, naming standards

Required Clarifications

Ask when not auto-detectable:

QuestionWhen to Ask
Target environment"Building for development or production?"
Base image preference"Standard slim images or enterprise hardened?"
Existing Docker files"Enhance existing Dockerfile or create new?"
Registry target"Local only or pushing to registry?"

Detect Runtime

File PresentRuntimePackage Manager
requirements.txt, pyproject.toml, uv.lockPythonpip/uv
pnpm-lock.yamlNode.jspnpm
yarn.lockNode.jsyarn
package-lock.jsonNode.jsnpm

Auto-Detection (Do NOT ask - detect from files)

Python

WhatDetect From
Python versionpyproject.toml (requires-python), .python-version, runtime.txt
FrameworkImports in code (from fastapi, from flask, import django)
Package manageruv.lock → uv, poetry.lock → poetry, else pip
Native depsScan requirements: psycopg2, cryptography, numpy, pillow
App entrypointFind app = FastAPI(), app = Flask(), or manage.py

Node.js

WhatDetect From
Node version.nvmrc, .node-version, package.json (engines.node)
Frameworkpackage.json dependencies (next, express, @nestjs/core)
Package managerpnpm-lock.yaml → pnpm, yarn.lock → yarn, else npm
Output typeNext.js: check next.config.js for output: 'standalone'

Fix Issues Automatically

IssueAction
Next.js missing output: 'standalone'Add it to next.config.js
No health endpoint foundCreate /health/live and /health/ready
Using uv but no uv.lockRun uv lock first
pyproject.toml but no build systemUse uv pip install -r pyproject.toml

Workflow

1. SCAN PROJECT
   - Detect runtime, framework, version, entrypoint
   - Find dependency files, native deps
   - Locate existing Docker files (don't blindly overwrite)
         ↓
2. ANALYZE ENVIRONMENT
   - Scan all .env* files
   - Classify: SECRET (never bake) / BUILD_ARG / RUNTIME
   - Flag security issues
         ↓
3. FIX CONFIGURATION
   - Add Next.js `output: 'standalone'` if missing
   - Create health endpoints if missing
   - Generate .env.example with safe placeholders
         ↓
4. GENERATE FILES
   - Dockerfile (customized CMD, paths, build deps)
   - .dockerignore (excludes .env, secrets)
   - compose.yaml (with security defaults)
         ↓
5. VALIDATE & TEST
   - docker build --target dev -t app:dev .
   - docker build --target production -t app:prod .
   - Test health endpoints
   - Verify non-root user
   - Report image size
         ↓
6. DELIVER WITH CONTEXT
   - All files with explanations
   - Security scan command
   - Any warnings about secrets
   - Rollback instructions if replacing existing

Only ask if genuinely ambiguous (e.g., multiple apps in monorepo, conflicting configs)


Base Image Decision Matrix

ChoiceWhen to UseTradeoffs
Slim {runtime}:X-slimGeneral production (default)Works everywhere, no auth
DHI dhi.io/{runtime}:XSOC2/HIPAA, enterpriseRequires docker login dhi.io
Alpine {runtime}:X-alpineSmallest sizemusl issues with native deps

Default: Slim (works everywhere without authentication)


Stage Structure

deps/base  → Install dependencies (cached layer)
    ↓
builder    → Build/compile application
    ↓
dev        → Hot-reload, volume mounts (--target dev)
    ↓
production → Minimal DHI runtime (--target production)

Build Commands

docker build --target dev -t myapp:dev .
docker build --target production -t myapp:prod .

Python Patterns

Framework CMD

FrameworkDevelopmentProduction
FastAPIuvicorn app.main:app --reloaduvicorn app.main:app --workers 4
Flaskflask run --debuggunicorn -w 4 app:app
Djangopython manage.py runservergunicorn -w 4 project.wsgi

Cache Mount (uv/pip)

RUN --mount=type=cache,target=/root/.cache/uv \
    --mount=type=cache,target=/root/.cache/pip \
    uv pip install -r requirements.txt

Graceful Shutdown (FastAPI)

@asynccontextmanager
async def lifespan(app: FastAPI):
    yield  # startup
    # shutdown logic here

Node.js Patterns

Framework Build

FrameworkBuildOutput
Next.jsnext build.next/standalone
Expresstscdist/
NestJSnest builddist/

Cache Mounts

# pnpm
RUN --mount=type=cache,target=/root/.local/share/pnpm/store \
    pnpm install --frozen-lockfile

# npm
RUN --mount=type=cache,target=/root/.npm npm ci

# yarn
RUN --mount=type=cache,target=/usr/local/share/.cache/yarn \
    yarn install --frozen-lockfile

Graceful Shutdown (Node.js)

process.on('SIGTERM', () => {
  server.close(() => process.exit(0));
});

Security Checklist

Before delivering, verify:

  • Non-root USER in production stage
  • No secrets in Dockerfile or image layers
  • .dockerignore excludes .env, .git, secrets
  • Multi-stage separates build tools from runtime
  • DHI or hardened base image used
  • HEALTHCHECK instruction defined
  • No package install in production stage
  • Secrets via runtime env vars or mounted files

Output Files

FilePurpose
DockerfileMulti-stage, multi-target build
.dockerignoreExclude sensitive/unnecessary files
compose.yamlLocal development stack
health.py / health endpointFramework-specific health checks

Reference Files

Always Read First

FilePurpose
references/env-analysis.mdCRITICAL: Secret detection,.env classification
references/production-checklist.mdCRITICAL: Validation before delivery

Framework-Specific

FileWhen to Read
references/python/fastapi.mdFastAPI: uvicorn, lifespan
references/python/flask.mdFlask: gunicorn, blueprints
references/python/django.mdDjango: gunicorn, middleware
references/python/native-deps.mdDetect psycopg2, cryptography, etc.
references/node/nextjs.mdNext.js: standalone, ISR
references/node/package-managers.mdnpm/yarn/pnpm caching

Optional

FileWhen to Read
references/docker-hardened-images.mdIf user needs enterprise security (DHI)
references/multi-stage-builds.mdComplex build patterns

Templates (Reference Patterns)

Templates in templates/ are reference patterns, not copy-paste files.

Agent must:

  1. Read template to understand structure
  2. Customize paths, CMDs, and stages for actual project
  3. Generate Dockerfile with correct entrypoint (e.g., src.app.main:app)
  4. Never output placeholder comments like "# Replace based on framework"

Example customization:

# Template says:
CMD ["uvicorn", "app.main:app", ...]

# Agent detects app at src/api/main.py, generates:
CMD ["uvicorn", "src.api.main:app", ...]

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

33.95%
按下载量换算132

Claude

31.14%
按下载量换算121

Cursor

20.46%
按下载量换算79

Gemini CLI

8.92%
按下载量换算35

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

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

安装前确认

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

来源信息

继续浏览同类 Skills