Images, Container, Volumes, Networks
Images
Ein Docker Image ist ein unveränderliches Dateisystem-Schnappschuss, aus dem Container gestartet werden.
docker image pull postgres:18.3-alpine3.23
docker image ls
docker image history postgres:18.3-alpine3.23
docker image inspect postgres:18.3-alpine3.23
docker image rm postgres:18.3-alpine3.23
Container
docker container run --rm hello-world
docker container ls # laufende Container
docker container ls -a # alle Container inkl. gestoppter
docker container stop [id]
docker container rm [id]
docker container logs [id]
docker container logs -f [id] # follow
docker container inspect [id]
Volumes
Volumes persistieren Daten über den Lebenszyklus eines Containers hinaus.
docker volume create pgdata
docker volume ls
docker volume inspect pgdata
docker volume rm pgdata
Networks
Netzwerke ermöglichen die Kommunikation zwischen Containern.
docker network create pgnet
docker network ls
docker network inspect pgnet
docker network rm pgnet
PostgreSQL + PGAdmin4 Beispiel
Kombination von Container, Volume und Network:
docker network create pgnet
docker volume create pgdata
docker run -d \
--name postgres \
--network pgnet \
-e POSTGRES_PASSWORD=postgres \
-v pgdata:/var/lib/postgresql \
postgres:18.3-alpine3.23
docker run -d \
--name pgadmin4 \
--network pgnet \
-p 8080:80 \
-e PGADMIN_DEFAULT_EMAIL=admin@admin.com \
-e PGADMIN_DEFAULT_PASSWORD=admin \
dpage/pgadmin4:9.14.0
docker container ls
docker logs -f pgadmin4
PGAdmin4 im Browser unter http://[ip]:8080 aufrufen:
| Feld | Wert |
|---|---|
| admin@admin.com | |
| Passwort | admin |
Verbindung zur PostgreSQL-Datenbank in PGAdmin4:
| Feld | Wert |
|---|---|
| Hostname | postgres |
| Port | 5432 |
| Benutzer | postgres |
| Passwort | postgres |
Aufräumen
docker container stop postgres pgadmin4
docker container rm postgres pgadmin4
docker network rm pgnet
docker volume rm pgdata
docker system df
docker system prune