Docker-cheat-sheet
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