Dies ist eine alte Version des Dokuments!
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