Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:docker:docker_volumes_by_examples

Dies ist eine alte Version des Dokuments!


Docker volumes by examples

NFS

Install NFS kernel server

sudo apt update
sudo apt install -y nfs-kernel-server
 
# Create the export directory
sudo mkdir -p /exports/shared
sudo chown nobody:nogroup /exports/shared
sudo chmod 755 /exports/shared
 
# add this to /etc/exports
sudo vi /etc/exports
/exports/shared    192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
 
 
# Export the shares
sudo exportfs -ra
 
# Start and enable NFS server
sudo systemctl enable nfs-kernel-server
sudo systemctl start nfs-kernel-server
 
# Verify exports
sudo exportfs -v

Mount NFS Share:

docker volume create \
  --driver local \
  --opt type=nfs \
  --opt o=addr=192.168.1.100,rw,nfsvers=4.1 \
  --opt device=:/exports/shared \
  shared-data

</code bash> mkdir -p web cd web cat >docker-compose.yml «EOF services:

app:
  image: nginx:alphine
  volumes:
    - shared-data:/usr/share/nginx/html
  deploy:
    replicas: 3
processor:
  image: python:3.11-slim
  volumes:
    - shared-data:/data
  command: python -c "while True: pass"

volumes:

shared-data:
  driver: local
  driver_opts:
    type: nfs
    o: addr=192.168.1.100,rw,nfsvers=4.1,soft,timeo=300
    device: ":/exports/shared"

EOF docker compose uo -d # access service with curlimages/curl many times docker run –rm –network default-web curlimages/curl curl -s app … # check logs

# down docker compose down </code>

With docker –mount:

docker run -d \
  --name web \
  --mount type=volume,volume-driver=local,\
volume-opt=type=nfs,\
volume-opt=o=addr=192.168.1.100,\
volume-opt=device=:/exports/shared,\
dst=/usr/share/nginx/html \
  nginx:alpine
admin_grundlagen/docker/docker_volumes_by_examples.1778240520.txt.gz · Zuletzt geändert: 2026/05/08 11:42 von peter_rossbach2