1.运行容器

使用华为云镜像运行容器
SHARED_DIRECTORY设置共享目录,必须设置,否则容器无法运行
privileged 设置特权启动
使用主机网络模式运行可以自行修改
生产网络一定要限制访问的ip

mkdir /home/nfs
docker run  -d  -e SHARED_DIRECTORY=/nfs -v /home/nfs:/nfs --privileged --name nfs --net=host  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/itsthenetwork/nfs-server-alpine:12

容器内部配置文件,需要的参考复制挂载

/ # cat /etc/exports
/nfs *(rw,fsid=0,async,no_subtree_check,no_auth_nlm,insecure,no_root_squash)
参数 含义与作用
/nfs 共享的目录路径,客户端可访问该目录下的资源
* 允许所有 IP 地址的客户端访问(无 IP 限制)
rw 允许客户端对共享目录读写权限
fsid=0 标识文件系统 ID,用于 NFS 服务的文件系统识别(简化 NFSv4 挂载逻辑,此处兼容 NFSv3)
async 异步写入模式,提升性能但服务器崩溃时可能丢失未持久化的数据
no_subtree_check 禁用子树检查,允许客户端访问共享目录的子目录,提升访问性能
no_auth_nlm 禁用网络锁定管理器(NLM)的认证,客户端无需认证即可进行文件锁定操作
insecure 允许客户端从大于 1024 的端口发起 NFS 请求(解除默认 “特权端口” 限制)
no_root_squash 客户端以root身份访问时,服务端保持root权限(方便管理员操作,但存在安全风险)

2.查看容器运行日志

查看是否启动成功
在这里插入图片描述

3.功能测试

没有客户端,会挂载文件服务失败
在这里插入图片描述

安装客户端

yum install -y nfs-utils

在这里插入图片描述
创建挂载目录

mkdir /mnt/localnfs
[root@localhost mnt]# pwd
/mnt
[root@localhost mnt]# mkdir localnfs

挂载nfs

mount 192.168.29.128:/ /mnt/localnfs/

在这里插入图片描述
创建文件目录测试

 mkdir html
 cd html/
 echo "hollo word" > index.html

在这里插入图片描述
进入容器查看文件是否变动

docker exec -it nfs /bin/sh

在这里插入图片描述
取消挂载,取消失败将占用文件的进程kill,终端会退出

umount /mnt/localnfs

在这里插入图片描述
重新取消挂载,成功取消
在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐