Nach installation:

Version: docker version

docker user anpassen: usermod -aG docker <Benutzername>

Speicherort für alle Container, Images, etc. und weitere relevanten Dateien: /var/lib/docker

IMAGES

sind eine Kombination aus Dateisystem und Parameter, sind Grundlage für docker Container. Auf https://hub.docker.com/ sind fertige Images, welche heruntergeladen werden können (pullen). Von Linux aus mit: docker image pull author/imagename:tag  z.B. docker image pull nginx

Übersicht über die installierten Images: docker images

Einzelheiten eines Images anzeigen lassen: docker image inspect <IMAGE ID>

Info über beim Start ausgeführter Befehle: docker image inspect 719cd2e3ed04 | grep -i cmd

Suche auf docker Hub: docker search <Suchbegriff>

Ein lokales Image zu aktualisieren, das entsprechende Image noch einmal pullen. Alle lokalen Images aktualisieren:  docker images | grep -v REPOSITORY | awk '{print $1}' | xargs -L1 docker pull

Images entfernen: docker image rm <IMAGE ID> 

Am Image gemachten Veränderungen anzeigen: docker history <Image-ID/Imagename>

CONTAINER

Container von einem beliebigen Image zu starten. docker container run <author/imagename:tag>                        Beim Aufruf wird das Image automatisch geladen, wenn es lokal noch nicht gespeichert ist.  STRG-C verlässt den Container wieder

Parameter -d startet den Container im Hintergrund: docker container run -d nginx 

Parameter --name dem Container einen Namen zuweisen: docker container run --name meine_busybox busybox

Alle Container anzeigen: docker container ls -a oder docker ps -a

Alle beendeten Container entfernen: docker container prune

Bei einem laufenden Container in die Shell „reinspringen“: docker exec -it nginx bash

Container auflisten: docker ps
Container starten: docker start <container-ID/containername>
Container stoppen: docker stop <container-ID/containername>
Container neu starten: docker restart <container-ID/containername>
Container löschen: docker rm <container-ID/containername>

Prozesse in einem Container anzeigen: docker top <container-ID/containername>
Prozesse in einem Container pausieren: docker pause <container-ID/containername>
pausierten Container starten: docker unpause <container-ID/containername>
die Logs eines Containers anzeigen lassen: docker logs <container-ID/containername>

vom Container verwendete Ressourcen: docker stats <container-ID/containername>

alle einzelnen Parameter eines Containers anzeigen: docker inspect <container-ID/containername>

aus einem Container ein Image erzeugen: docker commit <CONTAINER ID/Containername> <Imagename>

PORTS / PORTMAPPING

Übersicht der lauschenden Ports und deren Zuordnung: docker ps

Container-Port mit -p auf einen festen Port auf dem Host mappen: docker container run -d -p 8080:80 nginx - der erste Port ist der Host und der zweite Port ist vom Container, mehrfach möglich. tcp und udp mit /tcp oder /udp nach der Portangabe. 8080:80/upd   

IP-Adresse des Containers herausfinden: docker inspect <CONTAINER ID/Containername> | grep -i ipaddress

Portmapping anzeigen: docker container port <CONTAINER ID/Containername>

NETZWERK

Standard Netzwerke werden bei Installation von docker automatisch erstellt: docker0, bridge, host und none

Die bridge erstellt ein privates Netzwerk auf dem host, über das die Container kommunizieren. Automatisch auch Route ins Internet

Das host Netzwerk erlaubt dem Container den Netzwerk-Stack mit dem Host zu teilen - höhere Performance, aber Ports dürfen sich nicht überschneiden

none  - keinerlei externe Routen, nur das loopback Device vom Container.

vorhandene Netzwerke anzeigen: docker network ls

Einzelheiten jedes Netzwerkes anzeigen: docker network inspect <NETWORK ID/NAME>

Netzwerk eins Containers anzeigen: docker container inspect <CONTAINER ID/Containername>

Netzwerke entfernen: docker network rm <NETWORK ID/NAME> - Warnung wenn Netzwerk noch von einem Container genutzt wird.

Neues Netzwerk anlegen: docker network create <Netzwerkname> - Automatisch bridge, wenn kein Parameter

Container Netzwerk zuordnen: docker container run -d -p 8080:80 --name nginx --network br0

Bestehenden Container einem weiteren docker-Netzwerk zuordnen: docker network connect <docker-Netzwerk> <CONTAINER ID/Containername>

Container aus einem docker-Netzwerk entfernen: docker network disconnect <docker-Netzwerk> <CONTAINER ID/Containername>

STORAGE

Volume erstellen: docker volume create <Volumename>

Alle Einzelheiten über ein Volume: docker volume inspect <Volumename>

Volume löschen: docker volume rm <Volumename>

Volume mounten: docker container run -d --name nginx_mount_test --mount type=volume,source=test_vol01,target=/usr/share/nginx/html/ nginx

Volume mit bind-mount: docker container run -d --name nginx_mount_test2 -v test_vol01:/usr/share/nginx/html/ nginx - 2. Möglichkeit: docker container run -d --name nginx_bind_mount_test --mount type=bind,source="$(pwd)"/zielordner,target=/mnt nginx 

 

 

 

 

 

 

 

 

 

 

 

Quellen:

https://techgoat.net/index.php