Docker-cheat-sheet: Unterschied zwischen den Versionen

Aus Xinux Wiki
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:
;Alle Container stoppen
+
== Docker Cheat-Sheet (Deutsch) ==
docker stop $(docker ps -q)
+
 
;Alle Container löschen
+
=== Docker-Dienste verwalten ===
docker rm $(docker ps -aq)
+
* 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