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/30 22:50] – ingo_wichmann | admin_grundlagen:docker:volumes [2026/05/31 12:34] (aktuell) – ingo_wichmann | ||
|---|---|---|---|
| Zeile 7: | Zeile 7: | ||
| dnf install -y git | dnf install -y git | ||
| ++++ | ++++ | ||
| - | |||
| Quellcode laden: | Quellcode laden: | ||
| git clone https:// | git clone https:// | ||
| cd routes-explorer/ | cd routes-explorer/ | ||
| - | |||
| Dockerfile: Version hinzufügen | Dockerfile: Version hinzufügen | ||
| <file txt Dockerfile> | <file txt Dockerfile> | ||
| Zeile 21: | Zeile 19: | ||
| docker build -t=' | docker build -t=' | ||
| - | ===== CLI ===== | + | ===== Docker |
| - | ==== nicht persistent | + | ==== ohne Volume |
| Container starten: | Container starten: | ||
| - | docker container run -d -p 5000: | + | docker container run -d -p 5000:5000 --name routes-explorer ingo/ |
| GPX-Tracks aussuchen und herunterladen: | GPX-Tracks aussuchen und herunterladen: | ||
| Zeile 38: | Zeile 35: | ||
| docker build -t=' | docker build -t=' | ||
| ++++ Podman | | ++++ Podman | | ||
| - | podman container run -d --replace -p 5000: | + | podman container run -d --replace -p 5000:5000 --name routes-explorer ingo/ |
| ++++ | ++++ | ||
| docker container rm -f routes-explorer | docker container rm -f routes-explorer | ||
| - | docker container run -d -p 5000: | + | docker container run -d -p 5000:5000 --name routes-explorer ingo/ |
| http:// | http:// | ||
| -> GPX-Dateien sind weg | -> GPX-Dateien sind weg | ||
| - | ==== relativer Pfad ==== | + | ==== anonymes Volume |
| Container löschen: | Container löschen: | ||
| docker container rm -f routes-explorer | 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 '' | Daten im Verzeichnis '' | ||
| mkdir routes | mkdir routes | ||
| ++++ Podman mit SELinux | | ++++ Podman mit SELinux | | ||
| - | podman container run -d --restart=always -v ./ | + | podman container run -d --restart=always -v ./ |
| ++++ | ++++ | ||
| - | docker 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:// | http:// | ||
| -> GPX-Dateien hochladen | -> GPX-Dateien hochladen | ||
| Zeile 63: | Zeile 202: | ||
| Container updaten: | Container updaten: | ||
| + | <file yaml docker-compose.yml> | ||
| + | … | ||
| + | image: ingo/ | ||
| + | … | ||
| + | </ | ||
| + | docker compose up -d | ||
| + | http:// | ||
| + | -> GPX-Dateien sind noch da | ||
| ++++ Podman | | ++++ Podman | | ||
| - | | + | |
| ++++ | ++++ | ||
| - | | + | -> relativer Pfad wird von Docker als absoluter Pfad verarbeitet. |
| - | | + | |
| + | ==== benanntes Volume ==== | ||
| + | Container löschen: | ||
| + | docker compose down | ||
| + | |||
| + | <file yaml docker-compose.yml> | ||
| + | … | ||
| + | image: ingo/routes-explorer:0.0.1 | ||
| + | | ||
| + | | ||
| + | | ||
| + | … | ||
| + | volumes: | ||
| + | | ||
| + | </file> | ||
| + | Container starten: | ||
| + | docker compose up -d | ||
| + | http:// | ||
| + | -> GPX-Dateien hochladen | ||
| + | ++++ Podman | | ||
| + | podman volume mount routes | ||
| + | ++++ | ||
| + | docker inspect | ||
| + | -> die hochgeladenen GPX-Dateien liegen in diesem Verzeichnis | ||
| + | |||
| + | Container updaten: | ||
| + | <file yaml docker-compose.yml> | ||
| + | … | ||
| + | image: | ||
| + | … | ||
| + | </ | ||
| + | docker compose up -d | ||
| http:// | http:// | ||
| -> GPX-Dateien sind noch da | -> 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.1780181428.txt.gz · Zuletzt geändert: 2026/05/30 22:50 von ingo_wichmann
