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中某个服务之中。

  1. 如图 我们需要将/home/docker/nfs01/testhtml全部挂载到K8S某个服务中:

在这里插入图片描述

  1. 创建工作负载,直到存储挂载,选择nfs,填写nfs服务器ip或域名。将nfs中的testhtml文件夹映射到此容器的/data之中。

  2. 在这里插入图片描述

    注意:nfsPath是我们实际nfs服务器中文件的路径。我们是docker部署 将/nfs映射出来为/home/docker/nfs01 故填 /nfs/testhtml。点击完成,查看服务容器中是否已加载nfs中的路径。

在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐