hier eine Auflistung meiner oft verwendeten Docker Befehle
docker kill $(docker ps -q)
- stoppt alle Docker Container
docker rm $(docker ps -a -q)
- entfernt alle docker container – auch die welche aktuell nicht laufen
docker stop [name_des_containers]
- stoppt den laufenden Container mit dem Namen „name_des_containers“
- alternativ kann auch
kill
verwendet werden
docker start [
]name_des_containers
- startet einen angehaltenen Container
- statt des Container Names kann auch die Container ID oder auch nur der Anfang der Container ID übergeben werden.
docker ps
- zeigt alle laufenden Container an
docker ps -a
- zeigt alle Container an
docker ps -q
- zeigt die ID’s der laufenden Container an
docker ps -q
a- ziegt die ID’s aller Container an
docker pull [name_des_images]
- holt ein Image von
registry.hub.docker.com
welches der Standard ist
- holt ein Image von
docker logs -f [name_des_containers]
- zeigt die fortlaufenden Logs des Containers an
docker image inspect [name_des_images]
- zeigt Details zum Docker Image
docker run [name_des_images]
- startet einen neuen Container
-d
- startet den Container im Hintergrund als „Deamon“
-p [host_port]:[container_port]
- verbindet den
host_port
mit demcontainer_port
- verbindet den
docker images
- zeigt alle Images welche lokal verfügbar sind
docker kill $(docker ps -q)
- beendet alle laufenden Container
docker rm $(docker ps -q -a)
- löscht alle beendeten Container
docker rmi [name_des_images]
- entfernt das Image
docker rmi $(docker images -q -f dangling=true)
- entfernt alle Images welche keine Version haben
docker rmi $(docker images -q)
- entfernt alle Images
docker volume prune
- löscht alle Volumes welche nicht von einem Container verwendet werden
- löscht nicht die Inhalte der Pfade der Volumes
docker volume rm $(docker volume ls -f dangling=true -q)
- siehe auch prune
docker build -t [tag_name]
- baut das Image in dem Verzeichnis mit dem Dockerfile
docker exec -it [name_des_containers] bash
- öffnet eine Kommandozeile im Container
und Images
- RabbitMQ
docker run --rm -e RABBITMQ_DEFAULT_USER=xxxxxxxU -e RABBITMQ_DEFAULT_PASS=xxxxxxxP -h rabbitmq --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:3.12.6-management
- holt die entsprechende Version von Rabbit inkl. der Management Konsole – diese ist dann erreichbar über http://127.0.0.1:15672/#/
- da der Parameter
--rm
gesetzt ist werden beim Beenden des Containers auch alle Konfigurationen gelöscht
docker run -d -h rabbitmq --name rabbit -p 8080:15672 -p 5672:5672 -v /$DOCKER_VOLUMES_BASE/rabbitmq:/var/lib/rabbitmq
rabbitmq:management
- holt die neueste Version inklusive der Verwaltungsoberfläche auf http://localhost:8080/#/
- Die Standard Anmeldung ist Benutername „guest“ und Passwort „guest“
- vorher die Umgebungsvariable setzen mit
export DOCKER_VOLUMES_BASE=/myfullpath
- Redis
docker run --name some-redis -d redis
- https://docs.docker.com/samples/library/redis/
- startet Redis auf Port 6379
- Mongo
docker run -d -p 27017:27017 -v localdirectory:/data/db mongo
- startet den Mongo Container mit einem verbundenen Host Laufwerk (v = Volume)
- Postgres
docker run --name pg-docker -e POSTGRES_PASSWORD=xxxxxxxP -d -p 5432:5432 postgres
- startet Postgres ohne dass die Daten gelöscht werden – der Benutzer „postgres“ hat das Passwort „xxxxxxxP“
- MySql
docker run --name some-mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d -v localdir:/var/lib/mysql -p 3306:3306 mysql