Tips & Tricks

Dev Container mit Claude Code

Erfahren Sie, wie Sie Dev Container mit Claude Code verwenden. Mit praktischen Tipps und Codebeispielen.

Einheitliche Entwicklungsumgebung mit Dev Container

Dev Container (Entwicklungscontainer) ist eine containerbasierte Entwicklungsumgebung, die in VS Code und GitHub Codespaces genutzt werden kann. Durch die Definition der Konfiguration im .devcontainer-Verzeichnis kann das gesamte Team sofort dieselbe Entwicklungsumgebung aufbauen. Claude Code unterstützt Sie präzise von der Generierung der Konfigurationsdateien bis zur Optimierung.

Grundlegende Dev Container-Konfiguration

Bitten Sie Claude Code um die Generierung der Konfigurationsdateien.

> Erstelle eine Dev Container-Konfiguration für ein TypeScript + Next.js-Projekt.
> Einschließlich PostgreSQL, Redis, empfohlene Erweiterungen und Git-Konfiguration.
// .devcontainer/devcontainer.json
{
  "name": "Next.js Development",
  "dockerComposeFile": "docker-compose.yml",
  "service": "app",
  "workspaceFolder": "/workspace",
  "features": {
    "ghcr.io/devcontainers/features/node:1": { "version": "20" },
    "ghcr.io/devcontainers/features/git:1": {},
    "ghcr.io/devcontainers/features/github-cli:1": {}
  },
  "customizations": {
    "vscode": {
      "extensions": [
        "dbaeumer.vscode-eslint",
        "esbenp.prettier-vscode",
        "bradlc.vscode-tailwindcss",
        "prisma.prisma"
      ],
      "settings": {
        "editor.defaultFormatter": "esbenp.prettier-vscode",
        "editor.formatOnSave": true
      }
    }
  },
  "forwardPorts": [3000, 5432, 6379],
  "postCreateCommand": "npm install && npx prisma generate",
  "remoteUser": "node"
}

Docker Compose-Integration

# .devcontainer/docker-compose.yml
version: "3.9"
services:
  app:
    build:
      context: ..
      dockerfile: .devcontainer/Dockerfile
    volumes:
      - ..:/workspace:cached
      - node_modules:/workspace/node_modules
    command: sleep infinity
    environment:
      - DATABASE_URL=postgresql://postgres:password@db:5432/myapp
      - REDIS_URL=redis://redis:6379
  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password
      POSTGRES_DB: myapp
    volumes:
      - postgres_data:/var/lib/postgresql/data
  redis:
    image: redis:7-alpine
    volumes:
      - redis_data:/data
volumes:
  node_modules:
  postgres_data:
  redis_data:

Lifecycle-Skripte

{
  "initializeCommand": "echo 'Dev Container wird initialisiert...'",
  "onCreateCommand": {
    "install": "npm install",
    "prisma": "npx prisma generate"
  },
  "postCreateCommand": {
    "migrate": "npx prisma migrate dev",
    "seed": "npx prisma db seed"
  },
  "postStartCommand": "npm run dev",
  "postAttachCommand": "echo 'Mit Dev Container verbunden'"
}

Performance-Optimierung

{
  "mounts": [
    {
      "source": "devcontainer-node-modules-${devcontainerId}",
      "target": "/workspace/node_modules",
      "type": "volume"
    }
  ],
  "hostRequirements": {
    "cpus": 4,
    "memory": "8gb",
    "storage": "32gb"
  }
}

GitHub Codespaces-Unterstützung

{
  "hostRequirements": { "cpus": 4, "memory": "8gb" },
  "secrets": {
    "GITHUB_TOKEN": { "description": "GitHub API-Token für Authentifizierung" },
    "DATABASE_URL": { "description": "PostgreSQL-Verbindungsstring" }
  }
}

Zusammenfassung

Mit Dev Container können Sie das Problem “auf meinem Rechner funktioniert es” grundlegend lösen. Mit Claude Code können Sie Dockerfile-Erstellung, Docker Compose-Integration, VS Code-Konfiguration und Performance-Optimierung konsistent und effizient aufbauen.

Details zu Docker Compose finden Sie unter Docker Compose-Entwicklungsumgebung, zur CI/CD-Integration unter CI/CD-Setup-Leitfaden. Sehen Sie sich auch die offizielle Dev Container-Spezifikation an.

#Claude Code #Dev Container #VS Code #Docker #Entwicklungsumgebung