admin_grundlagen:docker:volumes
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
| Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
| admin_grundlagen:docker:volumes [2026/05/31 09:34] – gelöscht ingo_wichmann | admin_grundlagen:docker:volumes [2026/05/31 12:34] (aktuell) – ingo_wichmann | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== Persistenz mit Volumes ====== | ||
| + | Beispiel: Kartenansicht für GPX Track Dateien | ||
| + | |||
| + | git installieren: | ||
| + | apt install -y git | ||
| + | ++++ RockyLinux | | ||
| + | dnf install -y git | ||
| + | ++++ | ||
| + | Quellcode laden: | ||
| + | git clone https:// | ||
| + | cd routes-explorer/ | ||
| + | Dockerfile: Version hinzufügen | ||
| + | <file txt Dockerfile> | ||
| + | … | ||
| + | LABEL version=" | ||
| + | </ | ||
| + | |||
| + | Image bauen: | ||
| + | docker build -t=' | ||
| + | |||
| + | ===== Docker CLI ===== | ||
| + | ==== ohne Volume ==== | ||
| + | Container starten: | ||
| + | docker container run -d -p 5000:5000 --name routes-explorer ingo/ | ||
| + | GPX-Tracks aussuchen und herunterladen: | ||
| + | |||
| + | http:// | ||
| + | -> GPX-Dateien hochladen | ||
| + | |||
| + | Container updaten: | ||
| + | <file txt Dockerfile> | ||
| + | … | ||
| + | LABEL version=" | ||
| + | </ | ||
| + | docker build -t=' | ||
| + | ++++ Podman | | ||
| + | podman container run -d --replace -p 5000:5000 --name routes-explorer ingo/ | ||
| + | ++++ | ||
| + | docker container rm -f routes-explorer | ||
| + | docker container run -d -p 5000:5000 --name routes-explorer ingo/ | ||
| + | http:// | ||
| + | -> GPX-Dateien sind weg | ||
| + | |||
| + | ==== anonymes Volume ==== | ||
| + | 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/ | ||
| + | http:// | ||
| + | -> GPX-Dateien hochladen | ||
| + | docker inspect routes-explorer --format json | jq ' | ||
| + | -> die hochgeladenen GPX-Dateien liegen in " | ||
| + | |||
| + | Container updaten: | ||
| + | ++++ Podman | | ||
| + | podman container run -d --restart=always -v /routes -p 5000:5000 --name routes-explorer ingo/ | ||
| + | ++++ | ||
| + | docker container rm -f routes-explorer | ||
| + | docker container run -d --restart=always -v /routes -p 5000:5000 --name routes-explorer ingo/ | ||
| + | http:// | ||
| + | -> GPX-Dateien sind nicht sichtbar: sie liegen noch in dem alten anonymen Volume. | ||
| + | docker volume ls | ||
| + | ==== relativer Pfad ==== | ||
| + | Container löschen: | ||
| + | docker container rm -f routes-explorer | ||
| + | Daten im Verzeichnis '' | ||
| + | mkdir routes | ||
| + | ++++ Podman mit SELinux | | ||
| + | podman container run -d --restart=always -v ./ | ||
| + | ++++ | ||
| + | docker container run -d --restart=always -v ./ | ||
| + | http:// | ||
| + | -> GPX-Dateien hochladen | ||
| + | ls routes/ | ||
| + | -> zeigt die hochgeladenen GPX-Dateien | ||
| + | |||
| + | Container updaten: | ||
| + | ++++ Podman | | ||
| + | podman container run -d --replace --restart=always -v ./ | ||
| + | ++++ | ||
| + | docker container rm -f routes-explorer | ||
| + | docker container run -d --restart=always -v ./ | ||
| + | http:// | ||
| + | -> GPX-Dateien sind noch da | ||
| + | docker inspect routes-explorer --format json | jq ' | ||
| + | -> relativer Pfad wird von Docker als absoluter Pfad verarbeitet. | ||
| + | === Sicherheit === | ||
| + | container exec -it routes-explorer bash | ||
| + | cp / | ||
| + | chmod u+sx,go+x /routes/cat | ||
| + | ls -l /routes/cat | ||
| + | exit | ||
| + | ls -l ./ | ||
| + | ==== benanntes Volume ==== | ||
| + | Container löschen: | ||
| + | docker container rm -f routes-explorer | ||
| + | Daten im Volume '' | ||
| + | docker volume create routes | ||
| + | docker container run -d --restart=always -v routes:/ | ||
| + | http:// | ||
| + | -> GPX-Dateien hochladen | ||
| + | ++++ Podman | | ||
| + | podman volume mount routes | ||
| + | ++++ | ||
| + | docker inspect routes-explorer --format json | jq ' | ||
| + | -> die hochgeladenen GPX-Dateien liegen in diesem Verzeichnis | ||
| + | |||
| + | Container updaten: | ||
| + | ++++ Podman | | ||
| + | podman container run -d --replace --restart=always -v routes:/ | ||
| + | ++++ | ||
| + | docker container rm -f routes-explorer | ||
| + | docker container run -d --restart=always -v routes:/ | ||
| + | http:// | ||
| + | -> GPX-Dateien sind noch da | ||
| + | ===== Docker Compose ===== | ||
| + | Docker CLI Container löschen: | ||
| + | docker container rm -f routes-explorer | ||
| + | Compose Verzeichnis anlegen: | ||
| + | mkdir -p / | ||
| + | cd / | ||
| + | ==== ohne Volume ==== | ||
| + | <file yaml docker-compose.yml> | ||
| + | services: | ||
| + | routes-explorer: | ||
| + | image: ingo/ | ||
| + | ports: | ||
| + | - " | ||
| + | </ | ||
| + | Container starten: | ||
| + | docker compose up -d | ||
| + | http:// | ||
| + | -> GPX-Dateien hochladen | ||
| + | |||
| + | Container updaten: | ||
| + | <file yaml docker-compose.yml> | ||
| + | … | ||
| + | image: ingo/ | ||
| + | … | ||
| + | </ | ||
| + | docker compose up -d | ||
| + | http:// | ||
| + | -> GPX-Dateien sind weg | ||
| + | ==== anonymes Volume ==== | ||
| + | Container löschen: | ||
| + | docker compose down | ||
| + | Container starten: | ||
| + | <file yaml docker-compose.yml> | ||
| + | … | ||
| + | image: ingo/ | ||
| + | volumes: | ||
| + | - /routes | ||
| + | </ | ||
| + | |||
| + | Container starten: | ||
| + | docker compose up -d | ||
| + | http:// | ||
| + | -> GPX-Dateien hochladen | ||
| + | ++++ Podman | | ||
| + | podman inspect routes-explorer_routes-explorer_1 --format json | jq ' | ||
| + | ++++ | ||
| + | docker inspect routes-explorer-routes-explorer-1 --format json | jq ' | ||
| + | -> die hochgeladenen GPX-Dateien liegen in " | ||
| + | |||
| + | Container updaten: | ||
| + | <file yaml docker-compose.yml> | ||
| + | … | ||
| + | image: ingo/ | ||
| + | … | ||
| + | </ | ||
| + | docker compose up -d | ||
| + | http:// | ||
| + | -> GPX-Dateien sind sind noch da ;-) | ||
| + | docker volume ls | ||
| + | ==== relativer Pfad ==== | ||
| + | Container löschen: | ||
| + | docker compose down | ||
| + | Daten im Verzeichnis '' | ||
| + | mkdir routes | ||
| + | ++++ Podman mit SELinux | | ||
| + | <file yaml docker-compose.yml> | ||
| + | … | ||
| + | image: ingo/ | ||
| + | volumes: | ||
| + | - ./ | ||
| + | </ | ||
| + | ++++ | ||
| + | <file yaml docker-compose.yml> | ||
| + | … | ||
| + | image: ingo/ | ||
| + | volumes: | ||
| + | - ./ | ||
| + | restart: unless-stopped | ||
| + | </ | ||
| + | Container starten: | ||
| + | docker compose up -d | ||
| + | http:// | ||
| + | -> GPX-Dateien hochladen | ||
| + | |||
| + | ls routes/ | ||
| + | -> zeigt die hochgeladenen GPX-Dateien | ||
| + | |||
| + | Container updaten: | ||
| + | <file yaml docker-compose.yml> | ||
| + | … | ||
| + | image: ingo/ | ||
| + | … | ||
| + | </ | ||
| + | docker compose up -d | ||
| + | http:// | ||
| + | -> GPX-Dateien sind noch da | ||
| + | ++++ Podman | | ||
| + | docker inspect routes-explorer_routes-explorer_1 --format json | jq ' | ||
| + | ++++ | ||
| + | -> relativer Pfad wird von Docker als absoluter Pfad verarbeitet. | ||
| + | |||
| + | ==== benanntes Volume ==== | ||
| + | Container löschen: | ||
| + | docker compose down | ||
| + | |||
| + | <file yaml docker-compose.yml> | ||
| + | … | ||
| + | image: ingo/ | ||
| + | volumes: | ||
| + | - routes:/ | ||
| + | restart: unless-stopped | ||
| + | … | ||
| + | volumes: | ||
| + | routes: | ||
| + | </ | ||
| + | Container starten: | ||
| + | docker compose up -d | ||
| + | http:// | ||
| + | -> GPX-Dateien hochladen | ||
| + | ++++ Podman | | ||
| + | podman volume mount routes | ||
| + | ++++ | ||
| + | docker inspect routes-explorer-routes-explorer-1 --format json | jq ' | ||
| + | -> die hochgeladenen GPX-Dateien liegen in diesem Verzeichnis | ||
| + | |||
| + | Container updaten: | ||
| + | <file yaml docker-compose.yml> | ||
| + | … | ||
| + | image: ingo/ | ||
| + | … | ||
| + | </ | ||
| + | docker compose up -d | ||
| + | http:// | ||
| + | -> GPX-Dateien sind noch da | ||
| + | |||
| + | ===== Übersicht ===== | ||
| + | ^ ^ Docker CLI ^ compose ^ | ||
| + | ^ ohne Volume | ||
| + | ^ anonymes Volume | nicht sichtbar | ||
| + | ^ relativer Pfad | persistent | ||
| + | ^ benantes Volume | persistent | ||
admin_grundlagen/docker/volumes.1780220068.txt.gz · Zuletzt geändert: 2026/05/31 09:34 von ingo_wichmann
