Use Cases

Docker Compose mit Claude Code

Erfahren Sie, wie Sie Docker Compose mit Claude Code verwenden. Mit praktischen Tipps und Codebeispielen.

Reproduzierbare Entwicklungsumgebung mit Docker Compose aufbauen

Docker Compose ist ein Tool zur Definition und Verwaltung mehrerer Container und kann den Aufbau von Entwicklungsumgebungen erheblich effizienter gestalten. Claude Code unterstützt reibungslos vom Service-Design bis zur Dockerfile-Optimierung.

Full-Stack-Entwicklungsumgebung konfigurieren

> Baue eine Entwicklungsumgebung mit Docker Compose für Next.js + PostgreSQL + Redis.
> Mit Hot-Reload, initialer Datenbefüllung und Health-Checks.
# docker-compose.yml
version: "3.9"
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile.dev
    ports:
      - "3000:3000"
    volumes:
      - .:/app
      - /app/node_modules
      - /app/.next
    environment:
      - DATABASE_URL=postgresql://postgres:password@db:5432/myapp
      - REDIS_URL=redis://redis:6379
      - NODE_ENV=development
    depends_on:
      db:
        condition: service_healthy
      redis:
        condition: service_healthy
    command: npm run dev
  db:
    image: postgres:16-alpine
    ports:
      - "5432:5432"
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
      POSTGRES_DB: myapp
    volumes:
      - postgres_data:/var/lib/postgresql/data
      - ./docker/init.sql:/docker-entrypoint-initdb.d/init.sql
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres"]
      interval: 5s
      timeout: 5s
      retries: 5
  redis:
    image: redis:7-alpine
    ports:
      - "6379:6379"
    volumes:
      - redis_data:/data
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 5s
      timeout: 5s
      retries: 5
volumes:
  postgres_data:
  redis_data:

Entwicklungs-Dockerfile optimieren

# Dockerfile.dev
FROM node:20-alpine
WORKDIR /app
# Nur Paketdateien zuerst kopieren für Cache-Nutzung
COPY package.json package-lock.json ./
RUN npm ci
EXPOSE 3000
CMD ["npm", "run", "dev"]

Produktions-Multistage-Build

# Dockerfile
FROM node:20-alpine AS deps
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci --production=false

FROM node:20-alpine AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN npm run build

FROM node:20-alpine AS runner
WORKDIR /app
RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjs
COPY --from=builder /app/public ./public
COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
USER nextjs
EXPOSE 3000
ENV PORT 3000
CMD ["node", "server.js"]

Befehle mit Makefile vereinfachen

.PHONY: up down build logs test
up:
	docker compose up -d
down:
	docker compose down
build:
	docker compose build --no-cache
logs:
	docker compose logs -f app
test:
	docker compose -f docker-compose.yml -f docker-compose.test.yml run --rm app
clean:
	docker compose down -v --remove-orphans

Zusammenfassung

Mit Docker Compose kann das gesamte Team dieselbe Entwicklungsumgebung einfach reproduzieren. Mit Claude Code können Sie Servicekonfiguration, Dockerfile-Optimierung und Umgebungstrennung effizient aufbauen.

Zur weiteren Integration siehe Dev Container-Konfigurationsleitfaden und CI/CD-Setup-Leitfaden. Sehen Sie sich auch die offizielle Docker Compose-Dokumentation an.

#Claude Code #Docker #Docker Compose #Entwicklungsumgebung #Infrastruktur