Docker Befehle


docker run (startet ein Image <imagename oder id>)

-it interaktiv
-d im Hintergrung (Detach)
--rm löscht den Container nach dem Beenden
--name Name des Containers, wenn nicht angegeben, wird einer generiert
-v host_verzeichnis:container_verzeichnis
-p host_port:container_port
-e Variable=''

Beispiel:
docker run -d --rm --name=nginx -p 8880:80 -p 8443:443 -v <lokales Verzeichnis>:/usr/share/nginx/html:ro nginx
docker run -it --rm --name=ubuntu ubuntu bash

docker exec (fuehrt ein Kommando in einem laufenden Container aus <containername oder id>)
docker stop <containername oder id>
docker kill <containername oder id>
docker rm <containername oder id> - loescht einen Container
docker rmi <image oder id> - loescht ein Image
docker images - Zeigt alle Images
docker images -a - Zeigt alle Images, auch verweiste (<none>)
docker ps - Zeigt alle laufenden Container
docker ps -a - Zeigt alle Container

docker save <imagename oder id> > Dateiname.tar - Speichert ein Image lokal
docker load < Dateiname.tar Laed einen Container aus einem lokalen File

docker commit <imagename oder id> speichert einen laufenden Container zu einem Image
docker image tag <imagename oder id> <neuer Name> umbennen eines Images
docker history <imagename oder id> Zeigt an, wie ein Image gebaut wurde

docker inspect <containername oder id> - bietet detaillierte Informationen zum Container
docker logs <containername oder id> - Zeigt das Protokoll des Containers während des Startvorgangs

docker container prune - Entfernt alle angehaltenen Container
-f (force) - Keine Bestätigung anfordern

docker system prune - Entfernt alle nicht verwendeten Container, Netzwerke, Images
-f (force) - Keine Bestätigung anfordern

docker build -t <imagename>:Versionsnummer .
Erstellt ein Image aus einem Dockerfile. Wenn die Versionsnummer nicht angegeben wird, wird "latest" verwendet.

alle <none> images loeschen
docker images -a | grep "<none>" | awk '{print $3}' | xargs docker rmi -f
per Powershell
docker rmi $(docker images -f "dangling=true" -q) --force

Netzwerk einrichten
docker network create -d macvlan --subnet=192.168.0.0/24 --ip-range=192.168.0.80/27 --gateway=192.168.0.1 -o parent=eth0