====== Docker Spickzettel ======
===== Erstellen =====
Ein Image aus dem Dockerfile im aktuellen Verzeichnis erstellen und das Image mit einem Tag versehen
docker build -t dockerimagename:1.0
Alle Images auflisten, die lokal im Cache gespeichert sind
docker image ls
Ein Image aus dem lokalen Image Cache löschen
docker rm docker/dockerimagename:1.0
===== Veröffentlichen =====
Ein Image aus einer Registry laden
docker pull docker/dockerimagename:1.0
Ein lokales Image für das Hochladen auf eine Registry umtaggen
docker tag docker/dockerimagename:1.0 docker.registry.de/dockerimagename:1.0
In eine eigene Registry einloggen
docker login docker.registry.de:8000
Ein Image in eine Registry hochladen
docker push docker.registry.de/dockerimagename:1.0
===== Ausführen =====
docker run
* **--rm** Container automatisch entfernen, wenn er beendet wird
* **-it** Den Container mit einem interaktiven Terminal verbinden
* **--name** Den Container benennen-p 8080:80 Port 8080 extern freigeben und auf Port 80 im Container mappen
* **-v~/dev:/code** Ein Docker-Volume an eine Stelle im Container mappen
* **docker/dockerimagename** Der Name des Images, von dem der Container instanziiert wird
* **/bin/sh** Ein Befehl, der innerhalb eines Containers ausgeführt wird
Einen laufenden Container beenden
docker stop dockerimagename
Einen laufenden Container hart beenden (den Prozess entfernen)
docker kill dockerimagename
Ein Overlay-Netzwerk erstellen und ein Subnetz angeben
docker network create --subnet 10.1.0.0/24 --gateway 10.1.0.1 -d overlay netzname
Netzwerke auflisten
docker network ls
Die gerade laufenden Container auflisten
docker ps
Alle Container auflisten
docker ps -a
Alle laufenden und beendeten Container löschen
docker rm -f $(docker ps -aq)
Einen neuen Bash-Prozess innerhalb des Containers erzeugen und mit dem Terminal verbinden
docker exec -it dockerimagename bash
Die letzten 100 Zeilen des Logs eines Containers ausgeben
Docker logs --tail 100 dockerimagename