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.
Related Posts
So beschleunigen Sie Ihre Nebenprojekte mit Claude Code [Mit Beispielen]
Erfahren Sie, wie Sie persönliche Entwicklungsprojekte mit Claude Code drastisch beschleunigen. Inklusive realer Beispiele und eines praktischen Workflows von der Idee bis zum Deployment.
So automatisieren Sie Refactoring mit Claude Code
Erfahren Sie, wie Sie Code-Refactoring mit Claude Code effizient automatisieren. Inklusive praktischer Prompts und konkreter Refactoring-Muster für reale Projekte.
Vollständiger CORS-Konfigurationsleitfaden mit Claude Code
Erfahren Sie alles über die CORS-Konfiguration mit Claude Code. Mit praktischen Tipps und Codebeispielen.