Docker-cheat-sheet

Aus Xinux Wiki
Version vom 8. Juni 2025, 16:11 Uhr von Thomas.will (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

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