docker安装nfs文件服务器,docker下使用NFS服务共享

一、环境介绍

使用docker两台centos7虚拟机

服务端IP:172.172.0.7

客户端IP:172.172.0.8

二、操作步骤

服务端执行(172.172.0.7)

1.创建容器

在docker中开启NFS服务需要挂载主机的目录,才能通过NFS共享

docker run -dit -v /mnt:/dockermnt --privileged --net docker-br0 --ip 172.172.0.7 --name nfs-server-01 centos /usr/sbin/init

2.进入容器主机

docker exec -it 5b8ce1243e00 /bin/bash

3.安装NFS服务

因为centos7自带了rpcbind,所以不用安装rpc服务,rpc监听在111端口,可以使用 ss -tnulp | grep 111查看rpc服务是否自动启动,如果没有启动,就systemctl start rpcbind 启动rpc服务。rpc在nfs服务器搭建过程中至关重要,因为rpc能够获得nfs服务器端的端口号等信息,nfs服务器端通过rpc获得这些信息后才能连接nfs服务器端

yum -y install nfs-utils

4.查看使用安装成功

rpm -qa nfs-utils

d1122d42d5cc

5.编辑/etc/exports

添加以下内容

/dockermnt 172.172.0.0/24(rw,async)

6.启动NFS服务

systemctl start nfs

启动后 使用rpcinfo -p 172.172.0.7 查看

d1122d42d5cc

7.使用showmount -e localhost

d1122d42d5cc

8.修改/dockermnt目录权限

非常重要,不然目录只读,无法写入数据

chown -R nfsnobody.nfsnobody /dockermnt

9.开机启动服务

systemctl enable nfs-server.server

systemctl enable rpcbind

让nfs,rpcbind开机自动启动,实验完成。

客户端执行(172.172.0.8)

1.安装NFS

客户端上不需要启动nfs服务,只是为了使用showmount工具

yum -y install nfs-utils

2.检测rpc是否启动

rpcinfo -p

3.使用showmount -e 172.172.0.7查看

d1122d42d5cc

4.挂载到本地/nfs目录

mount -t nfs 172.172.0.7:/dockermnt /nfs

注意事项

1.重载NFS配置

修改/etc/exports后,需执行/etc/init.d/nfs reload或exportfs-rv重新加载NFS配置,但不需要restart NFS。在生产环境中,此操作要注意。

2.挂载优化

在企业工作场景,一般来说,NFS服务器共享的只是普通静态数据(图片、附件、视频),不需要执行suid、exec等权限,挂载的这个文件系统只能作为数据存取之用,无法执行程序,对于客户端来讲增加了安全性,例如:很多木马篡改站点文件都是由上传入口上传的程序到存储目录,然后执行的。 因此在挂载的时候,用下面的命令很有必要:

mount -t nfs -o nosuid, noexec, nodev, rw 10.0.0.7: /data /mnt

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值