docker部署nfs文件服务器
·
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

重新取消挂载,成功取消
更多推荐
所有评论(0)