docker搭建NFS服务器(超简单)
docker 安装 NFS服务端与客户端
一:服务端:
1.下载镜像到本地。
地址:https://www.aliyundrive.com/s/LUQ4A4yuZcY
2.启动镜像
解压镜像
docker load < docker-nfs-server.tar
#启动容器
docker run -d --privileged \
-v /home/docker/nfs01:/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
启动成功如图所示:
备注:docker启动成功,意味着将系统 /home/docker/nfs01 下的文件挂载到了 docker内部nfs目录下。
如图所示(系统目录):
docker内部目录:
二: NFS客户端
1.安装NFS客户端所需软件包(如果离线安装,请提前下载好)
yum install -y nfs-utils
2.测试
执行以下命令检查 nfs 服务器端 (客户端与服务端不在同一个ip)
showmount -e ip
如图所示可以看到sunsipeng.com的NFS服务器内的共享文件夹为nfs(因为我们的nfs服务端部署为docker部署,此/nfs的路径为docker容器内部,我们已经映射出来为 /home/docker/nfs01):
三. 实际使用(k8s)
操作界面:Kuboard
前提:k8s各节点已安装nfs客户端(yum install -y nfs-util) 客户端与服务端不在同一个ip
需求:我们需要将nfs服务期中某个文件夹下面的文件,全部挂载到K8s中某个服务之中。
如图 我们需要将/home/docker/nfs01/testhtml全部挂载到K8S某个服务中:
创建工作负载,直到存储挂载,选择nfs,填写nfs服务器ip或域名。将nfs中的testhtml文件夹映射到此容器的/data之中。 注意:nfsPath是我们实际nfs服务器中文件的路径。我们是docker部署 将/nfs映射出来为/home/docker/nfs01 故填 /nfs/testhtml。点击完成,查看服务容器中是否已加载nfs中的路径。