agentleFS
SHAdd0WTAkaSHAdd0WTAka/Zen-Ai-Pentest/skills/devops-docker/SKILL.md

devops-docker

Skill470 starsChanged 4 months agoMITView on GitHub

Hands-on Workflows für Docker, Docker Compose, Kubernetes, Container-Orchestrierung und Image-Management.

Files
SKILL.md

DevOps Docker & Kubernetes Skill

Hands-on Workflows für Docker, Docker Compose, Kubernetes, Container-Orchestrierung und Image-Management.

Docker Grundlagen

Image bauen & managen

docker build -t myapp:latest .
docker tag myapp:latest registry.example.com/myapp:v1.0
docker push registry.example.com/myapp:v1.0
docker pull alpine:3.19
docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}"
docker rmi $(docker images -f "dangling=true" -q)  # clean untagged

Container laufen lassen

docker run -d --name web -p 8080:80 --restart unless-stopped nginx:alpine
docker run -it --rm --entrypoint sh alpine  # debug
docker exec -it web sh
docker logs -f --tail 100 web
docker stats --no-stream
docker inspect web | jq '.[].NetworkSettings.IPAddress'

Docker Compose

# docker-compose.yml
services:
  api:
    build: ./api
    ports: ["3000:3000"]
    depends_on: [db, redis]
    environment:
      - DATABASE_URL=postgres://user:pass@db:5432/app
  db:
    image: postgres:16-alpine
    volumes: [pgdata:/var/lib/postgresql/data]
  redis:
    image: redis:7-alpine
volumes: {pgdata:}
docker compose up -d --build
docker compose logs -f api
docker compose exec db psql -U user app
docker compose down -v  # mit Volume-Löschung

Kubernetes

Deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: app
spec:
  replicas: 3
  selector:
    matchLabels: { app: app }
  template:
    metadata:
      labels: { app: app }
    spec:
      containers:
      - name: app
        image: myapp:latest
        ports: [{containerPort: 3000}]
        resources:
          limits: {cpu: "500m", memory: "256Mi"}
          requests: {cpu: "200m", memory: "128Mi"}
        livenessProbe: {httpGet: {path: /health, port: 3000}}

Kubectl Essentials

kubectl get pods -o wide --watch
kubectl logs -f deployment/app
kubectl exec -it pod-name -- sh
kubectl port-forward service/app 8080:80
kubectl describe pod pod-name
kubectl top pods
kubectl delete pod --grace-period=0 --force pod-name

Helm

helm create mychart
helm install release ./mychart --values prod-values.yaml
helm upgrade release ./mychart --set image.tag=v2
helm rollback release 1
helm list -a

Troubleshooting

docker logs container 2>&1 | grep ERROR
docker exec container cat /var/log/app.log
kubectl describe pod xxx | grep -A5 Events
kubectl logs --previous pod-name  # crashed container logs
docker system df  # disk usage
docker system prune -af --volumes  # extreme clean

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.