Was macht negin-devops-container-engineering?
Containerisierte Umgebungen entwickeln und betreiben. Für Podman/Docker, Images, Compose, Volumes, Netzwerke, Health Checks, Start, Wiederherstellung und Bereitstellungsautomatisierung.
Überblick
Diese Skill bietet eine umfassende Suite von Tools und Workflows für das Management von Container-Infrastrukturen. Sie deckt alle wichtigen Aspekte des Container-Lebenszyklus ab, von der Erstellung und Konfiguration von Images bis hin zur Orchestrierung mehrerer Dienste.
Funktionen
- Image-Management: Erstellen, taggen, pushen und verwalten von Container-Images.
- Container-Lebenszyklus: Starten, stoppen, neustarten und überwachen von Containern.
- Docker Compose/Podman Compose: Orchestrierung von Multi-Container-Anwendungen.
- Volume-Management: Erstellen, bereitstellen und sichern von persistenten Daten.
- Netzwerkkonfiguration: Einrichten von Bridges, Overlays und benutzerdefinierten Netzwerken.
- Health Checks: Implementierung und Überwachung von Gesundheitsprüfungen.
- Fehlerbehebung und Wiederherstellung: Automatisierte Recovery-Mechanismen.
- Deployment-Automatisierung: Integration in CI/CD-Pipelines.
Verwendung
Image-Operationen
# Ein Image erstellen
podman build -t my-app:latest .
# Ein Image pushen
podman push my-app:latest registry.example.com/my-app:latest
Container-Management
# Container starten
podman run -d --name web-server -p 80:80 my-app:latest
# Container stoppen
podman stop web-server
Docker Compose
version: '3'
services:
web:
image: nginx:alpine
ports:
- "80:80"
db:
image: postgres:13
volumes:
- db-data:/var/lib/postgresql/data
podman-compose up -d
Best Practices
- Verwenden Sie spezifische Image-Tags anstelle von
latest. - Definieren Sie immer Health Checks in Ihren Dockerfiles.
- Nutzen Sie Volumes für persistente Daten und bindet nicht direkt Host-Verzeichnisse ein.
- Konfigurieren Sie Netzwerke mit klar definierten Subnetzen für bessere Isolation.
- Implementieren Sie Log-Rotation, um Speicherplatzprobleme zu vermeiden.
Fehlerbehebung
Falls ein Container nicht startet, überprüfen Sie die Logs:
podman logs <container-name>
Überprüfen Sie die Netzwerkkonfiguration:
podman network ls
podman network inspect <network-name>
Lizenz
Diese Skill wird unter der MIT-Lizenz bereitgestellt.