====== 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