Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
admin_grundlagen:docker:docker_volumes_by_examples [2026/05/19 06:59] peter_rossbach2 |
admin_grundlagen:docker:docker_volumes_by_examples [2026/05/29 14:01] (aktuell) peter_rossbach2 |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ===== Docker volumes by examples ===== | ===== Docker volumes by examples ===== | ||
| - | ==== Start mysql with docker volumes ==== | + | ==== Start nginx with local path ==== |
| - | Prepare volume: | + | Create Website content: |
| <code bash> | <code bash> | ||
| - | docker volume create htdocs-volume | ||
| - | |||
| mkdir -p htdocs | mkdir -p htdocs | ||
| cat >htdocs/index.html <<EOF | cat >htdocs/index.html <<EOF | ||
| Zeile 14: | Zeile 12: | ||
| <head> | <head> | ||
| <meta charset="utf-8"> | <meta charset="utf-8"> | ||
| - | <title>Docker Nginx</title> | + | <title>Docker Local Path Nginx</title> |
| </head> | </head> | ||
| <body> | <body> | ||
| Zeile 21: | Zeile 19: | ||
| </html> | </html> | ||
| EOF | EOF | ||
| + | </code> | ||
| + | |||
| + | <code bash> | ||
| + | |||
| + | docker run -d --name nginx-local \ | ||
| + | -v $(pwd)/htdocs:/usr/share/nginx/html nginx | ||
| + | |||
| + | IPADDRESS=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx-local) | ||
| + | # Alternative with jq | ||
| + | # docker inspect nginx-local| jq -r '.[0].NetworkSettings.Networks.bridge.IPAddress' | ||
| + | curl $IPADDRESS | ||
| + | |||
| + | </code> | ||
| + | |||
| + | ==== Start nginx with docker volumes ==== | ||
| + | |||
| + | Prepare docker managed volume: | ||
| + | |||
| + | <code bash> | ||
| + | docker volume create htdocs-volume | ||
| + | |||
| docker container run \ | docker container run \ | ||
| -v $(pwd)/htdocs:/htdocs \ | -v $(pwd)/htdocs:/htdocs \ | ||
| Zeile 30: | Zeile 49: | ||
| </code> | </code> | ||
| - | Use Volume: | + | Use docker managed volume: |
| <code bash> | <code bash> | ||
| Zeile 44: | Zeile 63: | ||
| </code> | </code> | ||
| - | Inspect | + | Inspect volumes: |
| - | <code bash | + | <code bash> |
| docker volume ls | docker volume ls | ||
| docker volume inspect htdocs-volume | docker volume inspect htdocs-volume | ||
| - | docker volume rm htdocs-volume | + | #docker volume rm htdocs-volume |
| </code> | </code> | ||
| + | |||
| + | ==== Start with mount options and publish nginx ==== | ||
| + | |||
| + | <code bash> | ||
| + | docker run \ | ||
| + | --mount type=bind,src=$(pwd)/htdocs,dst=/usr/share/nginx/html,readonly \ | ||
| + | -p 8080:80 \ | ||
| + | nginx-public | ||
| + | </code> | ||
| + | |||
| + | ==== Start local mysql ==== | ||
| <code bash> | <code bash> | ||
| Zeile 59: | Zeile 89: | ||
| -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:8.4.9 | -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:8.4.9 | ||
| + | # Access DB | ||
| + | |||
| + | # Stop db | ||
| docker stop mysql.db | docker stop mysql.db | ||
| docker rm mysql-db | docker rm mysql-db | ||