Docker-Befehlsreferenz
Inhaltsverzeichnis:
Infos auslesen
Beschreibung | Befehl | Bemerkung |
---|---|---|
Zeige alle laufenden Container | docker ps [–no-trunc] | |
Container-Übersicht | docker stats | (CPU-/RAM/IO-Verbrauch) |
Alle laufenden Container auflisten | docker ps | |
Alle Container anzeigen (auch Gestoppte) | docker container ls –all | |
Ausführliche Infos zu einem Container | docker inspect CONTAINERID | |
Docker Logfile ausgeben | docker logs -f apache-lampp-php | (dem Logfile folgen) |
Einem docker compose folgen | docker compose logs -f | Allen Containern darin |
Docker Events | docker events& | wenn z.B. Container nicht starten |
Ressourcen-Verbrauch anzeigen | docker stats [–no-stream] |
Container steuern
Beschreibung | Befehl | Bemerkung |
---|---|---|
Container stoppen | docker stop CONTAINER | |
Container neu starten | docker restart CONTAINER | |
Einen Befehl innerhalb eines Containers ausführen | docker exec -i CONTAINER BEFEHL | |
In die BASH eines Containers springen | docker exec -it CONTAINER /bin/bash | |
Mit einem bestimmten User anmelden | docker compose exec -u 33 CONTAINER sh | 33 ist die ID des Users |
Container löschen (einen Bestimmten) | docker rm CONTAINER | |
Alle laufenden Containers stoppen | docker stop $(docker ps -aq) | |
Datei aus einem Container lokal kopieren | docker cp CONTAINER:/var/www/myfile.php /tmp/myfile.php | |
Ordner im Container löschen | docker exec CONTAINER rm /pfad/zur/datei |
Änderungen an einem Docker-Container dauerhaft speichern
docker ps
docker commit <Container ID> php:7.4-apache
Docker-Container aktualisieren und neu starten
docker compose stop
docker compose pull
docker compose up -d
\
ggf.
docker compose up --build -d
\
Per Einzeiler:
docker compose stop && docker compose pull & docker compose up -d
Volumes
Beschreibung | Befehl | Bemerkung |
---|---|---|
Volume erstellen | docker volume create NAME | |
Volumes auflisten | docker volume ls | |
Ungenutzte Volumes löschen | docker volume prune | Die keine Verbindung zu einem Container haben |
Netzwerke
Beschreibung | Befehl | Bemerkung |
---|---|---|
Netzwerke auflisten | docker network ls | |
Infos zu einem spezifischen Netzwerk anzeigen | docker network inspect NETZWERK | |
IP-Adresse eines Containers ausgeben | docker inspect –format=’{{.NetworkSettings.IPAddress}}’ CONTAINER | |
Ein Netzwerk löschen | docker network rm NETZWERK |
Images
Beschreibung | Befehl | Bemerkung |
---|---|---|
Zeige lokal vorhandene Images | docker image ls | |
Ungenutzte Images löschen | docker image prune |
Aufräumen
Beschreibung | Befehl | Bemerkung |
---|---|---|
Ungenutzte Ressourcen löschen | docker system prune | Images, Container und Netzwerke |
Backups
Beschreibung | Befehl | Bemerkung |
---|---|---|
MySQL-Datenbank sichern | docker exec -i CONTAINER mysqldump -uroot -pPASSWORT DATENBANK > /tmp/DATENBANK.sql | |
MySQL-Datenbank wiederherstellen | docker exec -i CONTAINER mysql -uroot -pPASSWORT DATENBANK < /tmp/DATENBANK.sql |
Apache Container starten
Mit definiertem htdocs-Pfad. Läuft im Vordergrund, damit man den Logs folgen kann.
docker run --rm -d --name my-apache-app -p 80:80 -v /home/tobi/www:/usr/local/apache2/htdocs/ httpd:latest
-p 80:80 = Er lauscht lokal auf 0.0.0.0:80 und reicht es in den Container auf Port 80 weiter.
–rm = Entferne den Container wenn er beendet wird.
-d = Container läuft im Hintergrund.
Portainer starten
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
http://localhost:9000
Nun wird für Portainer ein Passwort für den Admin abgefragt.