Beispiel: Kartenansicht für GPX Track Dateien
git installieren:
apt install -y git
Quellcode laden:
git clone https://github.com/RalfNieuwenhuizen/routes-explorer.git cd routes-explorer/
Dockerfile: Version hinzufügen
… LABEL version="0.0.1"
Image bauen:
docker build -t='ingo/routes-explorer:0.0.1' .
Container starten:
docker container run -d -p 5000:5000 --name routes-explorer ingo/routes-explorer:0.0.1
GPX-Tracks aussuchen und herunterladen: https://wildnis-wandern.de/gpx-downloads/
http://localhost:5000 → GPX-Dateien hochladen
Container updaten:
… LABEL version="0.0.2"
docker build -t='ingo/routes-explorer:0.0.2' .
docker container rm -f routes-explorer docker container run -d -p 5000:5000 --name routes-explorer ingo/routes-explorer:0.0.2
http://localhost:5000 → GPX-Dateien sind weg
Container löschen:
docker container rm -f routes-explorer
Container starten:
docker container run -d --restart=always -v /routes -p 5000:5000 --name routes-explorer ingo/routes-explorer:0.0.1
http://localhost:5000 → GPX-Dateien hochladen
docker inspect routes-explorer --format json | jq '.[0].Mounts'
→ die hochgeladenen GPX-Dateien liegen in „Source“
Container updaten:
docker container rm -f routes-explorer docker container run -d --restart=always -v /routes -p 5000:5000 --name routes-explorer ingo/routes-explorer:0.0.2
http://localhost:5000 → GPX-Dateien sind nicht sichtbar: sie liegen noch in dem alten anonymen Volume.
docker volume ls
Container löschen:
docker container rm -f routes-explorer
Daten im Verzeichnis routes speichern:
mkdir routes
docker container run -d --restart=always -v ./routes:/routes -p 5000:5000 --name routes-explorer ingo/routes-explorer:0.0.1
http://localhost:5000 → GPX-Dateien hochladen
ls routes/
→ zeigt die hochgeladenen GPX-Dateien
Container updaten:
docker container rm -f routes-explorer docker container run -d --restart=always -v ./routes:/routes -p 5000:5000 --name routes-explorer ingo/routes-explorer:0.0.2
http://localhost:5000 → GPX-Dateien sind noch da
docker inspect routes-explorer --format json | jq '.[0].Mounts'
→ relativer Pfad wird von Docker als absoluter Pfad verarbeitet.
container exec -it routes-explorer bash cp /usr/bin/cat /routes chmod u+sx,go+x /routes/cat ls -l /routes/cat exit ls -l ./routes/cat
Container löschen:
docker container rm -f routes-explorer
Daten im Volume routes speichern:
docker volume create routes docker container run -d --restart=always -v routes:/routes -p 5000:5000 --name routes-explorer ingo/routes-explorer:0.0.1
http://localhost:5000 → GPX-Dateien hochladen
docker inspect routes-explorer --format json | jq '.[0].Mounts.[0].Source'
→ die hochgeladenen GPX-Dateien liegen in diesem Verzeichnis
Container updaten:
docker container rm -f routes-explorer docker container run -d --restart=always -v routes:/routes -p 5000:5000 --name routes-explorer ingo/routes-explorer:0.0.2
http://localhost:5000 → GPX-Dateien sind noch da
Docker CLI Container löschen:
docker container rm -f routes-explorer
Compose Verzeichnis anlegen:
mkdir -p /srv/docker/routes-explorer cd /srv/docker/routes-explorer
services: routes-explorer: image: ingo/routes-explorer:0.0.1 ports: - "5000:5000"
Container starten:
docker compose up -d
http://localhost:5000 → GPX-Dateien hochladen
Container updaten:
… image: ingo/routes-explorer:0.0.2 …
docker compose up -d
http://localhost:5000 → GPX-Dateien sind weg
Container löschen:
docker compose down
Container starten:
… image: ingo/routes-explorer:0.0.1 volumes: - /routes
Container starten:
docker compose up -d
http://localhost:5000 → GPX-Dateien hochladen
docker inspect routes-explorer-routes-explorer-1 --format json | jq '.[0].Mounts'
→ die hochgeladenen GPX-Dateien liegen in „Source“
Container updaten:
… image: ingo/routes-explorer:0.0.2 …
docker compose up -d
http://localhost:5000
→ GPX-Dateien sind sind noch da
docker volume ls
Container löschen:
docker compose down
Daten im Verzeichnis routes speichern:
mkdir routes
… image: ingo/routes-explorer:0.0.1 volumes: - ./routes:/routes restart: unless-stopped
Container starten:
docker compose up -d
http://localhost:5000 → GPX-Dateien hochladen
ls routes/
→ zeigt die hochgeladenen GPX-Dateien
Container updaten:
… image: ingo/routes-explorer:0.0.2 …
docker compose up -d
http://localhost:5000 → GPX-Dateien sind noch da
→ relativer Pfad wird von Docker als absoluter Pfad verarbeitet.
Container löschen:
docker compose down
… image: ingo/routes-explorer:0.0.1 volumes: - routes:/routes restart: unless-stopped … volumes: routes:
Container starten:
docker compose up -d
http://localhost:5000 → GPX-Dateien hochladen
docker inspect routes-explorer-routes-explorer-1 --format json | jq '.[0].Mounts.[0].Source'
→ die hochgeladenen GPX-Dateien liegen in diesem Verzeichnis
Container updaten:
… image: ingo/routes-explorer:0.0.2 …
docker compose up -d
http://localhost:5000 → GPX-Dateien sind noch da
| Docker CLI | compose | |
|---|---|---|
| ohne Volume | nicht persistent | nicht persistent |
| anonymes Volume | nicht sichtbar | persistent |
| relativer Pfad | persistent | persistent |
| benantes Volume | persistent | persistent |