Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:docker:docker_volumes_by_examples

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:docker:docker_volumes_by_examples [2026/05/08 11:55] – peter_rossbach2admin_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 ==== 
 + 
 +Create Website content: 
 + 
 +<code bash> 
 +mkdir -p htdocs 
 +cat >htdocs/index.html <<EOF 
 +<!doctype html> 
 +<html lang="en"> 
 +<head> 
 +  <meta charset="utf-8"> 
 +  <title>Docker Local Path Nginx</title> 
 +</head> 
 +<body> 
 +  <h2>Hello from Nginx container of `hostname`</h2> 
 +</body> 
 +</html> 
 +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 \ 
 +    -v $(pwd)/htdocs:/htdocs \ 
 +    -v htdocs-volume:/htdocs1  \ 
 +    -ti --rm alpine /bin/sh 
 +cp htdocs/index.html htdocs1 
 +exit 
 + 
 +</code> 
 + 
 +Use docker managed volume: 
 + 
 +<code bash> 
 +docker run -d --name web-server \ 
 +-v htdocs-volume:/usr/share/nginx/html nginx 
 + 
 +# check content 
 +docker exec web-server ls /usr/share/nginx/html 
 +docker run --rm -ti --volumes-from web-server alpine /bin/sh 
 +ls /usr/share/nginx/html 
 +exit 
 + 
 +</code> 
 + 
 +Inspect volumes: 
 + 
 +<code bash> 
 +docker volume ls 
 +docker volume inspect htdocs-volume 
 + 
 +#docker volume rm htdocs-volume 
 +</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 9: 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
Zeile 20: Zeile 103:
 </code> </code>
  
-==== NFS ====+++++ NFS |
  
   - https://oneuptime.com/blog/post/2026-01-30-docker-nfs-volumes/view   - https://oneuptime.com/blog/post/2026-01-30-docker-nfs-volumes/view
Zeile 54: Zeile 137:
  
  
-Create docker volume NFS Share:+Create docker volume with a NFS Share:
  
 <code bash> <code bash>
Zeile 118: Zeile 201:
 </code> </code>
  
 +++++
admin_grundlagen/docker/docker_volumes_by_examples.1778241317.txt.gz · Zuletzt geändert: 2026/05/08 11:55 von peter_rossbach2