在Dockers中,常需要挂载volume,使存储内容与服务分离,以及多个docker容器共享一个存储volume,这个时候就可以使用ns来挂载docker volume来解决这个问题
系统环境说明:CentOS Linux release 7.9.2009 (Core)
1. 服务端安装
# 安装nfs只需要执行这一个命令就可以了
sudo yum -y install nfs-utils
# 配置NFS开机自启
sudo systemctl enable rpcbind # rpcbind 属于它的依赖
sudo systemctl enable nfs
# 启动NFS
sudo systemctl start rpcbind
sudo systemctl start nfs
2. 防火墙配置
# 将nfs的规则添加到防火墙
sudo firewall-cmd --zone=public --permanent --add-service={rpc-bind,mountd,nfs}
# 加载规则使规则生效
sudo firewall-cmd --reload
3. 配置共享目录
这一步比较重要,需要根据自己需要,找一个专门存放共享目录的地址,来进行数据存储, 常用的:/data,需要自己新建
sudo mkdir /data
sudo chmod 755 /data # 给data目录相关权限
4. 配置nfs导出目录
sudo vim /etc/exports
添加配置内容如下:
# 将1.1.1.1改为需要共享此nfs服务的客户端主机的ip,可以使网段以及单独ip
/data/ 1.1.1.1(rw,sync,no_root_squash,no_all_squash)
添加完成后,保存退出,然后重启nfs服务
sudo systemctl restart nfs
配置说明:
/data
:共享目录位置。1.1.1.1
: 客户端 IP,也可以把自己的网段放在这个位置,*:
代表所有,即没有限制。rw
:权限设置,可读可写。sync
:同步共享目录。no_root_squash
:可以使用 root 授权。no_all_squash
:可以使用普通用户授权。
检测共享目录
# 在nfs服务端
showmount -e localhost
# 也可以在nfs客户端
showmount -e nfs-server-ip