Docker NFS實作方法

Docker要掛載遠端NFS SERVER的資料夾,在本地必須要有一個NFS Client以及設定為掛載遠端的Volume。

建立NFS SERVER的Container

  • 下載Docker NFS Server Image
docker pull fuzzle/docker-nfs-server
  • 由Image實例Container
docker run -d --privileged --restart=always \
-v /tmp:/nfs \
-e NFS_EXPORT_DIR_1=/nfs \
-e NFS_EXPORT_DOMAIN_1=\* \
-e NFS_EXPORT_OPTIONS_1=rw,insecure,no_subtree_check,no_root_squash,fsid=1 \
-p 111:111 -p 111:111/udp \
-p 2049:2049 -p 2049:2049/udp \
-p 32765:32765 -p 32765:32765/udp \
-p 32766:32766 -p 32766:32766/udp \
-p 32767:32767 -p 32767:32767/udp \
fuzzle/docker-nfs-server:latest

本地建立指向NFS SERVER的Volume

  • 創建一個volume,指向NFS Server,並取名為nfs_vol
docker volume create --driver local \
    --opt type=nfs \
    --opt o=addr=192.168.99.100,rw \
    --opt device=:/nfs \
    nfs_vol

nfs_vol用於給本地的Container掛載,通過nfs_vol,本地的Container可以共享使用這個volume

本地建立NFS Client的Container

  • 下載Docker Client Image
docker pull outstand/nfs-client
  • 由Image實例Container
docker run -itd \
    --name nfs-client \
    --restart=always \
    --privileged=true \
    --net=host \
    -v /:/mnt/host \
    -e SERVER=192.168.99.100 \
    -e SHARE=/nfs \
    -e MOUNT_OPTIONS="nfsvers=3,rw" \
    -e FSTYPE=nfs \
    -e MOUNTPOINT=/mnt/host/nfs \
      outstand/nfs-client

Container掛載NFS範例(busybox)

  • 下載取得busybox Image
docker pull busybox
  • 由Image實例Container
docker run  -itd --name busybox_demo -v nfs_vol:/mnt/host/nfs busybox

將nfs_vol這個Volume掛載到本地的/mnt/host/nfs底下

results matching ""

    No results matching ""