Docker Kommandos
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