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 gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:docker:docker_volumes_by_examples [2026/05/08 11:47]
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 =====
  
-==== NFS ====+==== 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> 
 +# hostpath bind mount 
 +docker run --name mysql-db \ 
 +  -v $(pwd)/​datadir:/​var/​lib/​mysql 
 +  -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:​8.4.9 
 + 
 +# Access DB 
 + 
 +# Stop db 
 +docker stop mysql.db 
 +docker rm mysql-db 
 + 
 +# or docker managed volume /​var/​lib/​docker/​volumes 
 +docker volume create mysql-data 
 +docker run --name mysql-db \ 
 +  -v mysql-data:/​var/​lib/​mysql 
 +  -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:​8.4.9 
 + 
 +</​code>​ 
 + 
 +++++ 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 35: Zeile 137:
  
  
-Create docker volume NFS Share:+Create docker volume ​with a NFS Share:
  
 <code bash> <code bash>
Zeile 99: Zeile 201:
 </​code>​ </​code>​
  
 +++++
admin_grundlagen/docker/docker_volumes_by_examples.1778240864.txt.gz · Zuletzt geändert: 2026/05/08 11:47 von peter_rossbach2