Zum Inhalt

Docker Kommandos

generieren

Umfassende Docker-Befehle und Workflows zur Containerisierung auf allen Plattformen.

Grundlegende Befehle

| | Command | Description | | | --- | --- | | | docker --version | Show Docker version | | | | docker info | Display system-wide information | | | | docker help | Show help for Docker commands | | | | docker images | List all images | | | | docker ps | List running containers | | | | docker ps -a | List all containers (running and stopped) | | | | docker pull <image> | Pull an image from registry | | | | docker run <image> | Run a container from image | | | | docker stop <container> | Stop a running container | | | | docker start <container> | Start a stopped container | | | | docker restart <container> | Restart a container | | | | docker rm <container> | Remove a container | | | | docker rmi <image> | Remove an image | |

Containerverwaltung

| | Command | Description | | | --- | --- | | | docker run -d <image> | Run container in detached mode | | | | docker run -it <image> | Run container interactively | | | | docker run -p 8080:80 <image> | Map port 8080 to container port 80 | | | | docker run -v /host:/container <image> | Mount volume | | | | docker run --name <name> <image> | Run container with custom name | | | | docker exec -it <container> bash | Execute bash in running container | | | | docker logs <container> | View container logs | | | | docker logs -f <container> | Follow container logs | | | | docker inspect <container> | Inspect container details | | | | docker stats | Show container resource usage | | | | docker top <container> | Show running processes in container | |

Image Management

| | Command | Description | | | --- | --- | | | docker build -t <name> . | Build image from Dockerfile | | | | docker build -t <name>:<tag> . | Build image with tag | | | | docker tag <image> <new-name> | Tag an image | | | | docker push <image> | Push image to registry | | | | docker save <image> > file.tar | Save image to tar file | | | | docker load < file.tar | Load image from tar file | | | | docker history <image> | Show image history | | | | docker search <term> | Search for images in registry | |

Docker komponiert

| | Command | Description | | | --- | --- | | | docker-compose up | Start services defined in compose file | | | | docker-compose up -d | Start services in detached mode | | | | docker-compose down | Stop and remove containers | | | | docker-compose build | Build or rebuild services | | | | docker-compose logs | View logs for all services | | | | docker-compose ps | List containers | | | | docker-compose exec <service> bash | Execute command in service | | | | docker-compose pull | Pull latest images | | | | docker-compose restart | Restart services | |

Netzwerkmanagement

| | Command | Description | | | --- | --- | | | docker network ls | List networks | | | | docker network create <name> | Create a network | | | | docker network rm <name> | Remove a network | | | | docker network inspect <name> | Inspect network details | | | | docker run --network <name> <image> | Run container on specific network | |

Finanzmanagement

| | Command | Description | | | --- | --- | | | docker volume ls | List volumes | | | | docker volume create <name> | Create a volume | | | | docker volume rm <name> | Remove a volume | | | | docker volume inspect <name> | Inspect volume details | | | | docker volume prune | Remove unused volumes | |

Gemeinsame Workflows

Entwicklungs-Workflow

```bash

Build and run application

docker build -t myapp . docker run -p 3000:3000 myapp

Development with volume mounting

docker run -p 3000:3000 -v $(pwd):/app myapp

Using Docker Compose for development

docker-compose up --build ```_

Produktionsentwicklung

```bash

Build production image

docker build -t myapp:prod .

Tag for registry

docker tag myapp:prod registry.com/myapp:latest

Push to registry

docker push registry.com/myapp:latest

Deploy on production server

docker pull registry.com/myapp:latest docker run -d -p 80:3000 --name myapp-prod registry.com/myapp:latest ```_

Container Debugging

```bash

Check container logs

docker logs -f container-name

Execute shell in running container

docker exec -it container-name bash

Inspect container configuration

docker inspect container-name

Check resource usage

docker stats container-name ```_

Best Practices

Dockerfile Optimierung

  • Verwenden Sie mehrstufige Builds, um die Bildgröße zu reduzieren
  • Leverage erstellen Cache, indem Sie Anweisungen richtig bestellen
  • Verwenden Sie spezifische Basisbild-Tags, vermeiden latest_
  • Minimieren Sie die Anzahl der Schichten
  • Verwenden Sie .dockerignore, um unnötige Dateien auszuschließen

Sicherheit

  • Container als nicht-root-Benutzer ausführen
  • Verwenden Sie offizielle Basisbilder, wenn möglich
  • Regelmäßig aktualisieren Basisbilder
  • Scannen von Bildern für Schwachstellen
  • Begrenzte Containerressourcen (CPU, Speicher)

Leistung

  • Verwenden Sie entsprechende Basisbilder (alpine für kleinere Größe)
  • Optimieren der Schichtkaschierung
  • Verwenden Sie Gesundheitskontrollen für Behälter
  • Überwachen Sie die Ressourcennutzung von Containern
  • Verwenden Sie Volumes für persistente Daten

Produktionsentwicklung

  • Orchestrationswerkzeuge verwenden (Docker Swarm, Kubernetes)
  • Durchführung einer ordnungsgemäßen Protokollierung und Überwachung
  • Verwenden Sie Secrets Management für sensible Daten
  • Automatische Backups einrichten
  • Implementierung von Rollup-Updates