Docker-cheat-sheet: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „;Alle Container stoppen docker stop $(docker ps -q) ;Alle Container löschen docker rm $(docker ps -aq)“) |
|||
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | + | == Docker Cheat-Sheet (Deutsch) == | |
| − | + | ||
| − | + | === Docker-Dienste verwalten === | |
| − | + | * Docker starten, stoppen, Status prüfen: | |
| + | systemctl start docker | ||
| + | systemctl stop docker | ||
| + | systemctl status docker | ||
| + | |||
| + | === Container anzeigen, stoppen und löschen === | ||
| + | * Nur aktive Container anzeigen: | ||
| + | docker ps | ||
| + | * Alle Container anzeigen (aktiv & inaktiv): | ||
| + | docker ps -a | ||
| + | * Letzten erstellten Container anzeigen: | ||
| + | docker ps -l | ||
| + | * Einzelnen Container stoppen: | ||
| + | docker stop CONTAINER-ID | ||
| + | * Alle Container stoppen: | ||
| + | docker stop $(docker ps -a -q) | ||
| + | * Alle gestoppten Container löschen: | ||
| + | docker rm $(docker ps -q -f status=exited) | ||
| + | * Alle Container löschen: | ||
| + | docker rm $(docker ps -a -q) | ||
| + | * Image löschen (force): | ||
| + | docker rmi -f nginx:latest | ||
| + | docker rmi -f mysql:latest solr:latest | ||
| + | |||
| + | === Netzwerk mit Docker nutzen === | ||
| + | * Bridge-Netzwerk anlegen: | ||
| + | docker network create -d bridge --subnet 10.0.0.1/24 my-network | ||
| + | * Netzwerke anzeigen: | ||
| + | docker network ls | ||
| + | * Netzwerkdetails anzeigen: | ||
| + | docker network inspect my-network | ||
| + | * Bridge-Infos im Host prüfen: | ||
| + | brctl show | ||
| + | ip link show | ||
| + | |||
| + | === Container mit Netzwerk starten === | ||
| + | * Zwei Container mit gemeinsamem Netzwerk: | ||
| + | docker run -it -d --name web1 --network my-network -p 8080:80 nginx:stable-alpine | ||
| + | docker run -it -d --name web2 --network my-network -p 5000:80 nginx:stable-alpine | ||
| + | |||
| + | === Ports, Volumes und Verzeichnisse === | ||
| + | * Port zuweisen: | ||
| + | docker run -d -p 8880:80 --name web nginx:latest | ||
| + | * Volume mounten: | ||
| + | docker run -d -p 8800:80 --name web -v /mnt/data:/usr/share/nginx/html nginx:latest | ||
| + | * Komplett mit init: | ||
| + | docker run -it -d --privileged --name apache_web -v /data/app:/var/www/html --restart=always -p 8070:80 apache /usr/sbin/init | ||
| + | |||
| + | === Dateien zwischen Host und Container kopieren === | ||
| + | * Datei in Container kopieren: | ||
| + | docker cp foo.txt mycontainer:/foo.txt | ||
| + | * Datei aus Container holen: | ||
| + | docker cp mycontainer:/foo.txt foo.txt | ||
| + | * Verzeichnis in Container: | ||
| + | docker cp src/. mycontainer:/target | ||
| + | * Verzeichnis aus Container: | ||
| + | docker cp mycontainer:/src/. target | ||
| + | |||
| + | === Container-Informationen === | ||
| + | * Container-Logs anzeigen: | ||
| + | docker logs CONTAINER-ID | ||
| + | * In Container einloggen: | ||
| + | docker exec -it CONTAINER /bin/bash | ||
| + | * CPU-Auslastung anzeigen: | ||
| + | docker stats | ||
| + | * IP-Adresse des Containers: | ||
| + | docker inspect CONTAINER | grep -i IPAddr | ||
| + | * Port eines Containers anzeigen: | ||
| + | docker port CONTAINERNAME | ||
| + | * Formatierte IP-Adresse: | ||
| + | docker inspect --format <nowiki>'{{.NetworkSettings.IPAddress}}'</nowiki> CONTAINERNAME | ||
| + | |||
| + | === Container-Ressourcen steuern === | ||
| + | * CPU-Anteile mit --cpu-shares setzen: | ||
| + | docker run -dit --cpu-shares 512 nginx | ||
| + | * Bestimmten Core zuweisen: | ||
| + | docker run -it --rm --cpuset=0 stress --cpu 1 | ||
| + | * Mehrere Cores zuweisen: | ||
| + | docker run -it --rm --cpuset=0,1 stress --cpu 2 | ||
| + | |||
| + | === Neustartverhalten von Containern === | ||
| + | * Restart-Policy setzen: | ||
| + | docker run -dit --restart unless-stopped redis | ||
| + | * Weitere Optionen: | ||
| + | - no | ||
| + | - on-failure | ||
| + | - unless-stopped | ||
| + | - always | ||
| + | * Container neustarten: | ||
| + | docker restart CONTAINER-ID | ||
| + | |||
| + | === Images verwalten === | ||
| + | * Image herunterladen: | ||
| + | docker pull nginx:latest | ||
| + | * Images anzeigen: | ||
| + | docker image ls | ||
| + | * Unbenutzte Images löschen: | ||
| + | docker image prune -a | ||
| + | * Nach Zeit filtern: | ||
| + | docker image prune -a --force --filter "until=240h" | ||
| + | * Neues Image aus Container: | ||
| + | docker commit CONTAINER-ID | ||
| + | * Image taggen: | ||
| + | docker tag IMAGE-ID meinrepo/image:tag | ||
| + | * Image testen: | ||
| + | docker run -it centos7 /bin/ping google.com -c 5 | ||
| + | |||
| + | === Weitere hilfreiche Befehle === | ||
| + | * STDIN offen halten: | ||
| + | docker run -i web | ||
| + | * Volume für MySQL: | ||
| + | docker run -v /data/db:/var/lib/mysql db | ||
| + | * Version prüfen: | ||
| + | docker version | ||
| + | * Systeminformationen: | ||
| + | docker info | ||
| + | * Init über CentOS-Basis: | ||
| + | docker run -d --privileged -v /sys/fs/cgroup:/sys/fs/cgroup centos7 /usr/sbin/init | ||
| + | |||
| + | === Images suchen und analysieren === | ||
| + | * Suche im Hub: | ||
| + | docker search centos | ||
| + | docker search nginx | ||
| + | * Image-Historie: | ||
| + | docker image history nginx | ||
| + | * Image-Details: | ||
| + | docker image inspect nginx | ||
| + | * Image importieren: | ||
| + | docker image import mytarfile.tar | ||
| + | * Image exportieren: | ||
| + | docker image save nginx > nginx.tar | ||
| + | * Image laden: | ||
| + | docker image load < nginx.tar | ||
| + | </code> | ||
Aktuelle Version vom 8. Juni 2025, 16:11 Uhr
Docker Cheat-Sheet (Deutsch)
Docker-Dienste verwalten
- Docker starten, stoppen, Status prüfen:
systemctl start docker systemctl stop docker systemctl status docker
Container anzeigen, stoppen und löschen
- Nur aktive Container anzeigen:
docker ps
- Alle Container anzeigen (aktiv & inaktiv):
docker ps -a
- Letzten erstellten Container anzeigen:
docker ps -l
- Einzelnen Container stoppen:
docker stop CONTAINER-ID
- Alle Container stoppen:
docker stop $(docker ps -a -q)
- Alle gestoppten Container löschen:
docker rm $(docker ps -q -f status=exited)
- Alle Container löschen:
docker rm $(docker ps -a -q)
- Image löschen (force):
docker rmi -f nginx:latest docker rmi -f mysql:latest solr:latest
Netzwerk mit Docker nutzen
- Bridge-Netzwerk anlegen:
docker network create -d bridge --subnet 10.0.0.1/24 my-network
- Netzwerke anzeigen:
docker network ls
- Netzwerkdetails anzeigen:
docker network inspect my-network
- Bridge-Infos im Host prüfen:
brctl show ip link show
Container mit Netzwerk starten
- Zwei Container mit gemeinsamem Netzwerk:
docker run -it -d --name web1 --network my-network -p 8080:80 nginx:stable-alpine docker run -it -d --name web2 --network my-network -p 5000:80 nginx:stable-alpine
Ports, Volumes und Verzeichnisse
- Port zuweisen:
docker run -d -p 8880:80 --name web nginx:latest
- Volume mounten:
docker run -d -p 8800:80 --name web -v /mnt/data:/usr/share/nginx/html nginx:latest
- Komplett mit init:
docker run -it -d --privileged --name apache_web -v /data/app:/var/www/html --restart=always -p 8070:80 apache /usr/sbin/init
Dateien zwischen Host und Container kopieren
- Datei in Container kopieren:
docker cp foo.txt mycontainer:/foo.txt
- Datei aus Container holen:
docker cp mycontainer:/foo.txt foo.txt
- Verzeichnis in Container:
docker cp src/. mycontainer:/target
- Verzeichnis aus Container:
docker cp mycontainer:/src/. target
Container-Informationen
- Container-Logs anzeigen:
docker logs CONTAINER-ID
- In Container einloggen:
docker exec -it CONTAINER /bin/bash
- CPU-Auslastung anzeigen:
docker stats
- IP-Adresse des Containers:
docker inspect CONTAINER | grep -i IPAddr
- Port eines Containers anzeigen:
docker port CONTAINERNAME
- Formatierte IP-Adresse:
docker inspect --format '{{.NetworkSettings.IPAddress}}' CONTAINERNAME
Container-Ressourcen steuern
- CPU-Anteile mit --cpu-shares setzen:
docker run -dit --cpu-shares 512 nginx
- Bestimmten Core zuweisen:
docker run -it --rm --cpuset=0 stress --cpu 1
- Mehrere Cores zuweisen:
docker run -it --rm --cpuset=0,1 stress --cpu 2
Neustartverhalten von Containern
- Restart-Policy setzen:
docker run -dit --restart unless-stopped redis
- Weitere Optionen:
- no - on-failure - unless-stopped - always
- Container neustarten:
docker restart CONTAINER-ID
Images verwalten
- Image herunterladen:
docker pull nginx:latest
- Images anzeigen:
docker image ls
- Unbenutzte Images löschen:
docker image prune -a
- Nach Zeit filtern:
docker image prune -a --force --filter "until=240h"
- Neues Image aus Container:
docker commit CONTAINER-ID
- Image taggen:
docker tag IMAGE-ID meinrepo/image:tag
- Image testen:
docker run -it centos7 /bin/ping google.com -c 5
Weitere hilfreiche Befehle
- STDIN offen halten:
docker run -i web
- Volume für MySQL:
docker run -v /data/db:/var/lib/mysql db
- Version prüfen:
docker version
- Systeminformationen:
docker info
- Init über CentOS-Basis:
docker run -d --privileged -v /sys/fs/cgroup:/sys/fs/cgroup centos7 /usr/sbin/init
Images suchen und analysieren
- Suche im Hub:
docker search centos docker search nginx
- Image-Historie:
docker image history nginx
- Image-Details:
docker image inspect nginx
- Image importieren:
docker image import mytarfile.tar
- Image exportieren:
docker image save nginx > nginx.tar
- Image laden:
docker image load < nginx.tar