This skill should be used when the user asks to "docker,container,컨테이너,dockerfile,도커,docker-compose". Containerization with Docker, Dockerfile optimization, and compose configuration
From tenetxnpx claudepluginhub wooo-jin/tenetx/dockerGenerate optimized Docker configurations with multi-stage builds and docker-compose
/dockerDocker mastery skill for creating, optimizing, and securing containerized applications. Covers Dockerfile best practices (multi-stage builds, layer caching), Docker Compose for local development, image size optimization, security scanning (Trivy, Snyk), networking, volumes, and BuildKit features.
/dockerManages Docker containers, images, and orchestration for development and deployment workflows.
/dockerManages Docker containers, images, and orchestration for development and deployment workflows.
Dockerfile 작성: 최적화된 Dockerfile을 구성합니다
이미지 최적화: 이미지 크기와 보안을 개선합니다
Docker Compose 구성: 멀티 컨테이너 환경을 정의합니다
헬스 체크 및 모니터링: 컨테이너 상태를 관리합니다
executor 에이전트(Sonnet 모델)에 위임하여 Docker 구성을 구현합니다:
Agent(
subagent_type="executor",
model="sonnet",
prompt="DOCKER TASK
Docker 컨테이너화를 구현하세요.
Application: [애플리케이션 설명]
Runtime: [Node.js / Python / Go / etc.]
Services: [필요한 외부 서비스 목록]
Docker Checklist:
1. Dockerfile 작성 (멀티스테이지, 최적화)
2. .dockerignore 설정
3. Docker Compose 구성 (개발/프로덕션)
4. 헬스 체크 설정
5. 보안 설정 (비루트 사용자, 이미지 스캔)
6. 볼륨 및 네트워크 구성
Output: Docker 구성 파일 및 문서:
- Dockerfile
- .dockerignore
- docker-compose.yml (dev/prod)
- 이미지 크기 리포트
- 실행 명령 가이드"
)
executor 에이전트는 교차 검증을 위해 Claude Task 에이전트에 자문할 수 있습니다.
| 런타임 | 목표 크기 | 베이스 이미지 |
|---|---|---|
| Node.js | < 150MB | node:20-alpine |
| Python | < 200MB | python:3.12-slim |
| Go | < 30MB | gcr.io/distroless/static |
| Rust | < 30MB | debian:bookworm-slim (빌드) + scratch (런타임) |
Application: [애플리케이션명] Runtime: [Node.js 20] Image Size: [최종 이미지 크기]
FROM node:20-alpine AS builder WORKDIR /app COPY package*.json ./ RUN npm ci --omit=dev COPY . . RUN npm run build
FROM node:20-alpine AS runtime
RUN addgroup -g 1001 -S appgroup &&
adduser -S appuser -u 1001 -G appgroup
WORKDIR /app
COPY --from=builder --chown=appuser:appgroup /app/dist ./dist
COPY --from=builder --chown=appuser:appgroup /app/node_modules ./node_modules
USER appuser
EXPOSE 3000
HEALTHCHECK --interval=30s --timeout=3s
CMD wget --no-verbose --tries=1 --spider http://localhost:3000/health || exit 1
CMD ["node", "dist/index.js"]
services: app: build: . ports: ["3000:3000"] depends_on: db: { condition: service_healthy } environment: DATABASE_URL: postgres://user:pass@db:5432/app db: image: postgres:16-alpine volumes: ["pgdata:/var/lib/postgresql/data"] healthcheck: test: ["CMD-SHELL", "pg_isready"]
Total Size: 142MB Layers: 8 Base Image: node:20-alpine (45MB) Dependencies: 85MB Application: 12MB
Vulnerabilities: 0 CRITICAL, 0 HIGH, 2 MEDIUM Recommendation: [조치 사항]
</Output>
<Policy>
- 베이스 이미지에 항상 고정 태그를 사용합니다 (latest 금지)
- 프로덕션 이미지에서 반드시 비루트 사용자로 실행합니다
- 시크릿은 절대 이미지에 포함하지 않습니다 (빌드 시에도)
- 이미지 크기를 정기적으로 모니터링합니다
- 보안 스캔을 CI/CD에 통합하여 취약한 이미지 배포를 차단합니다
- Graceful shutdown을 반드시 구현하여 데이터 손실을 방지합니다
</Policy>
## 다른 스킬과의 연동
**CI/CD 연동:**
/tenetx:ci-cd Docker 이미지 빌드 및 푸시 파이프라인
CI에서 Docker 이미지 자동 빌드/배포
**보안 리뷰 연동:**
/tenetx:security-review Dockerfile 및 이미지
Docker 구성의 보안 취약점 점검
**성능 연동:**
/tenetx:performance 컨테이너 리소스 사용량 분석
컨테이너의 리소스 최적화
## Best Practices
- **작은 이미지** -- 불필요한 것을 빼서 크기를 줄임
- **멀티스테이지** -- 빌드 도구를 런타임에 포함하지 않음
- **캐시 활용** -- 레이어 순서를 변경 빈도 기준으로 정렬
- **보안 우선** -- 비루트, 최소 권한, 시크릿 분리
- **헬스 체크** -- 컨테이너 상태를 자동으로 모니터링
<Arguments>
## 사용법
`/tenetx:docker {컨테이너화 대상}`
### 예시
- `/tenetx:docker Node.js API 서버 컨테이너화`
- `/tenetx:docker 기존 Dockerfile 최적화`
- `/tenetx:docker 개발 환경 Docker Compose 구성`
- `/tenetx:docker 프로덕션 배포용 이미지 보안 강화`
### 인자
- 컨테이너화할 애플리케이션, 최적화 목표 등을 설명
- 인자 없으면 프로젝트를 분석하여 적절한 Docker 구성을 제안
</Arguments>
$ARGUMENTS