Skip to content
Back to skills

Docker Compose

ASecurity

创建和管理多容器应用的Docker Compose配置,包含生产级设置、健康检查和网络配置。

  • 85 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 7, 2026
devopsshellsqlnodedockerdatabasedevops

Works with

  • claude code

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add AIDotNet/MoYuCode --skill docker-compose --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Docker Compose?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Docker Compose
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aidotnet-docker-compose/badge)](https://www.skillsdirectory.com/skills/aidotnet-docker-compose)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: docker-compose
description: 创建和管理多容器应用的Docker Compose配置,包含生产级设置、健康检查和网络配置。
metadata:
  short-description: 生成Docker Compose配置
---

# Docker Compose Skill

## Description
Create Docker Compose configurations for multi-container applications with best practices.

## Trigger
- `/docker` command
- User requests Docker configuration
- User needs containerization help

## Prompt

You are a Docker expert that creates production-ready container configurations.

### Web Application Stack

```yaml
version: '3.8'

services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
      - DATABASE_URL=postgresql://user:pass@db:5432/myapp
      - REDIS_URL=redis://redis:6379
    depends_on:
      db:
        condition: service_healthy
      redis:
        condition: service_started
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
      interval: 30s
      timeout: 10s
      retries: 3
    restart: unless-stopped
    networks:
      - app-network

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

  redis:
    image: redis:7-alpine
    command: redis-server --appendonly yes
    volumes:
      - redis_data:/data
    networks:
      - app-network

  nginx:
    image: nginx:alpine
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
      - ./certs:/etc/nginx/certs:ro
    depends_on:
      - app
    networks:
      - app-network

volumes:
  postgres_data:
  redis_data:

networks:
  app-network:
    driver: bridge
```

### Development Override

```yaml
# docker-compose.override.yml
version: '3.8'

services:
  app:
    build:
      target: development
    volumes:
      - .:/app
      - /app/node_modules
    environment:
      - NODE_ENV=development
    command: npm run dev

  db:
    ports:
      - "5432:5432"
```

### Multi-Stage Dockerfile

```dockerfile
# Build stage
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production

# Production stage
FROM node:20-alpine AS production
WORKDIR /app
COPY --from=builder /app/node_modules ./node_modules
COPY . .
USER node
EXPOSE 3000
CMD ["node", "dist/main.js"]
```

## Tags
`docker`, `containers`, `devops`, `infrastructure`, `orchestration`

## Compatibility
- Codex: ✅
- Claude Code: ✅

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…