Przejdź do głównej zawartości

Konteneryzacja z Claude Code

Claude Code doskonale radzi sobie z zadaniami konteneryzacji, od pisania plików Dockerfile po orkiestrację złożonych wdrożeń Kubernetes. Ta lekcja obejmuje praktyczne wzorce używania Claude Code w środowiskach skonteneryzowanych.

Claude Code może analizować twoją aplikację i generować gotowe do produkcji pliki Dockerfile:

Okno terminala
# Wygeneruj wieloetapowy Dockerfile
claude "Stwórz wieloetapowy Dockerfile dla tej aplikacji Node.js z:
- Etapem budowy z zależnościami
- Etapem produkcyjnym z minimalnym obrazem
- Użytkownikiem nie-root
- Kontrolami zdrowia
- Najlepszymi praktykami bezpieczeństwa"
  1. Analiza struktury projektu

    Okno terminala
    claude "Przeanalizuj ten projekt i stwórz docker-compose.yml z:
    - Wszystkimi usługami odpowiednio połączonymi w sieć
    - Montowaniem woluminów do rozwoju
    - Zarządzaniem zmiennymi środowiskowymi
    - Kontrolami zdrowia i zależnościami"
  2. Dodanie nadpisań rozwojowych

    Okno terminala
    claude "Stwórz docker-compose.override.yml do lokalnego rozwoju z:
    - Hot reloading
    - Eksponowanymi portami do debugowania
    - Lokalnymi montowaniami woluminów
    - Zmiennymi środowiskowymi rozwojowymi"
  3. Konfiguracja produkcyjna

    Okno terminala
    claude "Stwórz docker-compose.prod.yml z:
    - Ustawieniami gotowymi do produkcji
    - Limitami zasobów
    - Zasadami restart
    - Konfiguracją logowania"
Okno terminala
# Analiza Dockerfile pod kątem problemów bezpieczeństwa
claude "Przejrzyj ten Dockerfile pod kątem luk bezpieczeństwa:
- Sprawdź na sztywno zakodowane sekrety
- Zweryfikuj użytkownika nie-root
- Przeanalizuj bezpieczeństwo obrazu bazowego
- Zasugeruj ulepszenia
Uwzględnij komendy do skanowania z trivy/grype"

Kompletne wdrożenie aplikacji

Okno terminala
claude "Stwórz manifesty Kubernetes dla tej aplikacji:
- Deployment z odpowiednimi limitami zasobów
- Service do równoważenia obciążenia
- ConfigMap do konfiguracji
- Secret do wrażliwych danych
- Ingress do dostępu zewnętrznego
- HPA do autoskalowania
Przestrzegaj najlepszych praktyk Kubernetes"
  1. Inicjalizacja struktury Helm

    Okno terminala
    claude "Stwórz wykres Helm dla tej aplikacji:
    - Wygeneruj Chart.yaml z metadanymi
    - Stwórz elastyczny values.yaml
    - Zrób szablony wszystkich zasobów Kubernetes
    - Uwzględnij NOTES.txt z instrukcjami użycia"
  2. Dodanie wartości specyficznych dla środowisk

    Okno terminala
    claude "Stwórz pliki values dla różnych środowisk:
    - values-dev.yaml z niższymi zasobami
    - values-staging.yaml z umiarkowanymi ustawieniami
    - values-prod.yaml z konfiguracją HA
    Uwzględnij odpowiednie nadpisania"
  3. Tworzenie szablonów pomocniczych

    Okno terminala
    claude "Dodaj pomocniki szablonów Helm dla:
    - Wspólnych etykiet i selektorów
    - Generowania nazw zasobów
    - Walidacji konfiguracji
    - Warunkowego tworzenia zasobów"
Okno terminala
# Manifest aplikacji ArgoCD
claude "Stwórz manifest aplikacji ArgoCD:
- Wskaż na repozytorium Git
- Ustaw zasady synchronizacji
- Skonfiguruj kontrole zdrowia
- Dodaj hooki zasobów
- Uwzględnij konfigurację rollback"
Okno terminala
claude "Zaktualizuj Dockerfile i CI/CD dla budowy multi-arch:
- Obsługa amd64 i arm64
- Użyj buildx do kompilacji krzyżowej
- Push do rejestru z listą manifestów
- Uwzględnij workflow GitHub Actions"
Okno terminala
claude "Dodaj konfigurację Istio dla tej usługi:
- VirtualService do routingu
- DestinationRule do równoważenia obciążenia
- PeerAuthentication dla mTLS
- AuthorizationPolicy do kontroli dostępu"

Redukcja rozmiaru obrazu

Okno terminala
claude "Zoptymalizuj ten obraz Docker:
- Przeanalizuj warstwy z dive
- Usuń niepotrzebne zależności
- Użyj distroless lub Alpine
- Zaimplementuj budowę wieloetapową
- Zminimalizuj liczbę warstw"

Wydajność budowy

Okno terminala
claude "Popraw szybkość budowy Docker:
- Zoptymalizuj cache'owanie warstw
- Użyj funkcji BuildKit
- Zaimplementuj cache'owanie zależności
- Zrównoleglij kroki budowy
- Dodaj .dockerignore"
Okno terminala
# Debug uruchomionego kontenera
claude "Stwórz skrypty debugowania dla:
- Exec do uruchomionych kontenerów
- Sprawdzania logów z wielu kontenerów
- Monitorowania użycia zasobów
- Testowania sieci między kontenerami
- Weryfikacji zmiennych środowiskowych"
  1. Badanie podów

    Okno terminala
    claude "Stwórz komendy debugowania K8s dla:
    - Opisywania problemów podów
    - Sprawdzania wydarzeń i logów
    - Weryfikacji limitów zasobów
    - Testowania zasad sieciowych
    - Debugowania init containers"
  2. Debugowanie na poziomie klastra

    Okno terminala
    claude "Wygeneruj skrypt debugowania klastra:
    - Sprawdź zasoby węzłów
    - Zweryfikuj rozwiązywanie DNS
    - Przetestuj łączność usług
    - Przeanalizuj planowanie podów
    - Przejrzyj uprawnienia RBAC"
Okno terminala
claude "Stwórz workflow GitHub Actions dla:
- Budowy i testowania obrazów Docker
- Skanowania bezpieczeństwa z Trivy
- Push do rejestru (DockerHub/ECR/GCR)
- Wdrażania do Kubernetes
- Rollback w przypadku błędu"
Okno terminala
claude "Wygeneruj .gitlab-ci.yml dla:
- Budowy obrazów Docker
- Skanowania kontenerów
- Wdrażania do wielu środowisk
- Użycia rejestru kontenerów GitLab
- Implementacji review apps"
  • ✅ Użytkownik nie-root w kontenerach
  • ✅ Minimalne obrazy bazowe
  • ✅ Brak sztywno zakodowanych sekretów
  • ✅ Skanowanie bezpieczeństwa w CI/CD
  • ✅ Włączone zasady sieciowe
  • ✅ Zdefiniowane limity zasobów
  • ✅ Budowa wieloetapowa
  • ✅ Zoptymalizowane cache’owanie warstw
  • ✅ Zaimplementowane kontrole zdrowia
  • ✅ Obsługa graceful shutdown
  • ✅ Skonfigurowane skalowanie horyzontalne
  1. Skonteneryzuj mikroserwis

    • Weź istniejącą aplikację
    • Stwórz zoptymalizowany Dockerfile
    • Dodaj docker-compose do lokalnego developmentu
    • Zaimplementuj kontrole zdrowia
  2. Wdróż do Kubernetes

    • Wygeneruj manifesty K8s
    • Stwórz wykres Helm
    • Ustaw autoskalowanie
    • Skonfiguruj monitoring
  3. Zaimplementuj CI/CD

    • Buduj obrazy multi-arch
    • Dodaj skanowanie bezpieczeństwa
    • Wdrażaj do staging/produkcji
    • Zaimplementuj strategię rollback

Teraz gdy rozumiesz konteneryzację z Claude Code, eksploruj:

Pamiętaj: Siła Claude Code w konteneryzacji wynika z jego zdolności do zrozumienia całego kontekstu twojej aplikacji i generowania odpowiednich konfiguracji. Zawsze waliduj wygenerowane konfiguracje w bezpiecznym środowisku przed użyciem w produkcji.