跳到正文
cccskills
免费在 GitHub 公开

docker-compose

Docker Compose service orchestration for multi-container applications. Use when the user asks about setting up local dev environments, defining services, configuring volumes/networks, multi-stage builds, health checks, or containerized application architecture.

中文简介正在准备中。当前显示原文说明。

ProjectZeroDays/FreeAI_AI_Inference_Workstation星标 5(GitHub 5 + cccskills 0)
集成工具DockerPostgreSQL

实测评分 未实测

查看安装方法

包含的文件(1)

  • SKILL.md4.0 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Docker Compose

Basic Structure

# docker-compose.yml
services:
  app:
    build: .
    ports:
      - "3000:3000"
    environment:
      - DATABASE_URL=postgres://db:5432/mydb
    depends_on:
      db:
        condition: service_healthy
    volumes:
      - .:/app
      - /app/node_modules
    networks:
      - backend

  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_DB: mydb
      POSTGRES_USER: user
      POSTGRES_PASSWORD: pass
    volumes:
      - pgdata:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U user -d mydb"]
      interval: 5s
      timeout: 3s
      retries: 5
    networks:
      - backend

  redis:
    image: redis:7-alpine
    ports:
      - "6379:6379"
    networks:
      - backend

volumes:
  pgdata:

networks:
  backend:

Common Commands

# Start all services (detached)
docker compose up -d

# Build and start
docker compose up --build

# Stop and remove containers
docker compose down

# Stop and remove volumes too
docker compose down -v

# View logs
docker compose logs -f app

# Execute command in running container
docker compose exec app bash

# Scale a service
docker compose up -d --scale worker=3

# Restart single service
docker compose restart app

# View running services
docker compose ps

Multi-Stage Builds

# Dockerfile
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

FROM node:20-alpine AS runner
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
COPY package*.json ./
EXPOSE 3000
CMD ["node", "dist/index.js"]

Profiles

Run optional services only when needed:

services:
  app:
    build: .
    profiles: ["default"]

  debug:
    image: busybox
    profiles: ["debug"]

  test:
    profiles: ["test"]
    build:
      target: test
docker compose --profile debug up -d
docker compose --profile test up --build

Environment Management

services:
  app:
    env_file:
      - .env
      - .env.local
    environment:
      - NODE_ENV=production
      - LOG_LEVEL=${LOG_LEVEL:-info}
# Override env file
docker compose --env-file .env.staging up -d

Resource Limits

services:
  app:
    deploy:
      resources:
        limits:
          cpus: "1.0"
          memory: 512M
        reservations:
          memory: 256M

Volume Types

services:
  app:
    volumes:
      # Named volume (persistent)
      - data:/app/data
      # Bind mount (host path)
      - ./src:/app/src
      # Read-only mount
      - ./config:/app/config:ro
      # Anonymous volume
      - /app/node_modules

volumes:
  data:
    driver: local

Networking

services:
  frontend:
    networks:
      - frontend
  backend:
    networks:
      - frontend
      - backend
  db:
    networks:
      - backend

networks:
  frontend:
  backend:
    driver: bridge

Services on the same network resolve each other by service name (e.g., db, redis).

Health Checks

services:
  api:
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s

Use depends_on.condition: service_healthy to wait for healthy dependencies.

Development Overrides

Create docker-compose.override.yml for dev-specific config:

# docker-compose.override.yml (loaded automatically)
services:
  app:
    volumes:
      - ./src:/app/src
    environment:
      - NODE_ENV=development
      - DEBUG=*
    command: npm run dev

Use a separate file for production:

docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

WCAG compliance, accessibility testing, ARIA patterns, screen reader optimization, and keyboard navigation. Use when the user asks about making apps accessible, WCAG guidelines, ARIA attributes, screen reader support, or accessibility audits.

中文简介正在准备中。当前显示原文说明。

ProjectZeroDays/FreeAI_AI_Inference_Workstation52026年9月4日 更新

ace-music

免费

Generate AI music using ACE-Step 1.5 via ACE Music's free API. Use when the user asks to create, generate, or compose music, songs, beats, instrumentals, or audio tracks. Supports lyrics, style prompts, covers, and repainting. Free API, no cost.

中文简介正在准备中。当前显示原文说明。

ProjectZeroDays/FreeAI_AI_Inference_Workstation52026年9月4日 更新

A continuously adaptive skill suite that empowers Clawdbot to act as a versatile coder, business analyst, project manager, web developer, data analyst, and NAS metadata scraper. It intelligently discovers free resources, adapts to user context, and ensures reliable, proven guidance across multiple domains.

中文简介正在准备中。当前显示原文说明。

ProjectZeroDays/FreeAI_AI_Inference_Workstation52026年9月4日 更新

High-fidelity intelligence gathering and data assimilation. Focuses on synthesizing fragmented data into a comprehensive target operational picture.

中文简介正在准备中。当前显示原文说明。

ProjectZeroDays/FreeAI_AI_Inference_Workstation52026年9月4日 更新

Use when Codex needs proactive task queues, heartbeat routines, scheduled follow-up, or continuous work loops instead of waiting for prompts.

中文简介正在准备中。当前显示原文说明。

ProjectZeroDays/FreeAI_AI_Inference_Workstation52026年9月4日 更新

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.

中文简介正在准备中。当前显示原文说明。

ProjectZeroDays/FreeAI_AI_Inference_Workstation52026年9月4日 更新

查看 ProjectZeroDays 的全部技能

报告此技能的问题