Back to Skills

docker-workflow

verified

멀티 스테이지 빌드(multi-stage builds), docker-compose 오케스트레이션, 이미지 최적화, 디버깅 및 운영 모범 사례를 포함하는 포괄적인 Docker 컨테이너화 워크플로우입니다. 애플리케이션 컨테이너화, 개발 환경 구축 또는 Docker 배포 시 사용합니다.

View on GitHub

Marketplace

icartsh-marketplace

icartsh/icartsh_plugin

Plugin

icartsh-plugin

Repository

icartsh/icartsh_plugin
1stars

icartsh-plugin/skills/docker-workflow/SKILL.md

Last Verified

January 20, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/icartsh/icartsh_plugin/blob/main/icartsh-plugin/skills/docker-workflow/SKILL.md -a claude-code --skill docker-workflow

Installation paths:

Claude
.claude/skills/docker-workflow/
Powered by add-skill CLI

Instructions

# Docker Workflow

## Overview

Docker 컨테이너화는 애플리케이션과 그 종속성을 이식 가능하고 재현 가능한 컨테이너로 패키징하여 개발, 테스트 및 배포를 능률화합니다. 이 SKILL은 개발부터 운영에 이르기까지 전문적인 Docker 워크플로우를 안내합니다.

## Core Capabilities

- **멀티 스테이지 빌드 (Multi-stage builds)**: 최적의 이미지 크기를 위해 빌드와 런타임 종속성을 분리합니다.
- **Docker Compose 오케스트레이션**: 네트워킹과 종속성을 갖춘 다중 컨테이너 애플리케이션을 관리합니다.
- **이미지 최적화**: 모범 사례를 통해 이미지 크기를 50-90% 줄입니다.
- **개발 워크플로우**: Hot-reload, 볼륨 마운트 및 환경별 설정을 지원합니다.
- **디버깅 도구**: 컨테이너 조사, health checks 및 트러블슈팅 유틸리티를 제공합니다.
- **운영 준비 (Production readiness)**: 보안 강화(Security hardening), health checks 및 배포 전략을 다룹니다.

## When to Use This Skill

다음을 수행할 때 활성화하세요:
- 새로운 애플리케이션 컨테이너화
- Docker로 개발 환경 구축
- 운영 환경에 적합한 Docker 이미지 생성
- 다중 컨테이너 애플리케이션 오케스트레이션
- 컨테이너 이슈 디버깅
- Docker 빌드 및 이미지 최적화

## Workflow Phases

### Phase 1: Initial Setup

#### .dockerignore 생성

빌드 컨텍스트에서 불필요한 파일을 제외합니다:

```dockerignore
node_modules/
__pycache__/
*.pyc
.git/
.env
*.log
dist/
build/
coverage/
```

포괄적인 템플릿은 `examples/.dockerignore`를 참조하세요.

**핵심 원칙**:
- 빌드 아티팩트 및 종속성 제외
- 민감한 파일(.env, 자격 증명) 제외
- 버전 관리 시스템(.git) 제외
- 컨텍스트 크기 축소 = 빌드 속도 향상

#### 애플리케이션 요구 사항 분석

다음을 결정합니다:
- 런타임 (Node.js, Python, Go, Java)
- 종속성 및 패키지 매니저
- 빌드 요구 사항 vs 런타임 요구 사항
- 포트 노출 및 볼륨 필요성

### Phase 2: Multi-Stage Dockerfile

#### 전략 선택

멀티 스테이지 빌드는 최종 이미지 크기를 50-90% 줄여줍니다:

```dockerfile
# Stage 1: Build
FROM node:18-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build

# Stage 2: Production
FROM node:18-alpine
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
EXPOSE 3000
CMD ["node", "dist/index.js"]
```

Node.js, Python, Go, Java, Rust 템플릿은 `examples/Dockerfile.multi-stage`를 참조하세요.

#### 레이어 캐싱 최적화 (Optimize Layer Caching)

순서가 중요합니다 - 자주 변경되는 콘텐츠는 마지막에 배치하세요:

```dockerfile
# ✅ 좋음: 종속성이 별도로 캐시됨
COPY package.json package-lock.json ./
RUN npm ci
COPY . .

# ❌ 나쁨: 파일이 하나만 변경되어도 캐시가 무효화됨
COPY . .
RUN npm ci
```

#### 보안 모범 사례 적용

```dockerfile
# 특정 버전 사용
FROM n

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
7442 chars