DevOps系列文章之 Docker 安装 NFS 服务器

news/2025/1/15 5:13:10/

Docker 安装 NFS 服务器

环境:

192.186.2.105 NFS 服务器

192.168.2.106 Client 客户端

安装

一、服务器端

https://github.com/f-u-z-z-l-e/docker-nfs-server

1、创建目录

mkdir /nfsdata
mkdir -p /docker/nfs/

2、启动脚本

vim start.sh# 内容
docker run -d --privileged --restart=always \
-v /nfsdata:/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

二、安装 客户端

1、安装

yum -y install nfs-utils

2、查看

showmount -e 192.168.59.139

成功显示Export list for 192.168.59.139:
/nfs *

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QhT7MuIo-1690905066691)(C:\Users\Gary\AppData\Roaming\Typora\typora-user-images\image-20230801225238971.png)]

如图所示可以看到NFS服务器内的共享文件夹为nfs(因为我们的nfs服务端部署为docker部署,此/nfs的路径为docker容器内部,我们已经映射出来为/nfsdata):

3、挂载

mkdir -p /mnt/nfsdatamount -t nfs 192.168.59.139:/nfs /mnt/nfsdata

4、创建一个文件

echo "hello,world" > hello.html

三、查看 NFS 服务器

1、成功显示 hello.html 文件

ll /nfsdata总用量 4
-rw-r--r-- 1 root root 12 3月  19 07:31 hello.html

Docker挂载使用

version: '3'
services:xbd-mysql:image: mysql:8.0.19restart: alwayscontainer_name: xbd-mysqlvolumes:- nfs:/var/lib/mysqlports:- 3306:3306environment:MYSQL_ROOT_PASSWORD: rootprivileged: truecommand: ['--lower_case_table_names=1', '--character-set-server=utf8', '--collation-server=utf8_general_ci']volumes:nfs:driver_opts:type: "nfs"o: "addr=192.168.59.139,nolock,soft,rw"device: ":/nfs/mysql"

也可以通过docker的方式创建volume

docker volume create nfs_name -d local -o type=nfs -o o=addr=192.168.59.139,nolock,soft,rw -o device=:/nfs/mysql

这样就可以在服务端也创建容器进行挂载,这样就能实现跨主机容器与容器之间的文件共享。

需求:任意修改客户端容器内共享目录的内容,在服务器的的宿主机或者容器内也能看到实时的修改
技术:NFS、Dockers
原理:先利用NFS创建服务端与客户端之间的共享空间,再利用docker技术将客户端容器的某个目录挂载到共享目录,就能实现需求。同理,采用上述方法也能实现跨主机的容器之间文件的共享。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AJNjairg-1690905066693)(C:\Users\Gary\AppData\Roaming\Typora\typora-user-images\image-20230801231015341.png)]

服务端NFS配置

vim /etc/exports
/mnt/nfs_file/ 192.168.57.0/24(rw,sync,no_root_squash)//ro只读权限
//rw读写权限
//sync同步写入内存与磁盘当中
//no_all_squash保留共享文件的UID和GID(默认)
//no_root_squash使得root用户具有根目录的完全访问权限
.0/24(rw,sync,no_root_squash)//ro只读权限
//rw读写权限
//sync同步写入内存与磁盘当中
//no_all_squash保留共享文件的UID和GID(默认)
//no_root_squash使得root用户具有根目录的完全访问权限

http://www.ppmy.cn/news/998726.html

相关文章

运维高级--tomcat和jpress

1. 简述静态网页和动态网页的区别。 静态网页:事先创建好的网页,通常通过HTML、CSS和JavaScript等静态文件组成,不需要和服务器进行交互,加载速度快 动态网页:根据用户需求动态生成网页,动态网页通常使用…

【docker】Windows11系统下安装并配置阿里云镜像加速

【docker】Windows11系统下安装并配置阿里云镜像加速 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【docker】Windows11系统下安装并配置阿里云镜像加速一、查看Windows环境是否支持docker二、 启动Hyper-V三、 官网下载安装Docker应用和数据…

音乐节《迷笛音乐节》游玩感

上周,去了烟台,参加音乐节,以前从未参加过,所以趁着本周六周日双休的时候,去游玩了一次。(1)一种新奇体验 对于自己来说,参加音乐节还是一种新奇的体验的,也是疫情放开了…

关于样本方差为什么除以 n-1

今天上午集训摸鱼看到同学给我发的这个问题感觉挺有意思的 感性理解 这一部分的内容仅代表本蒟蒻没看严谨证明之前的个人见解,如果您想看严谨的证明,请翻到下一部分 还是先把图放上来罢省的有人不知道讲的什么东西 呃我知道这是生物竞赛的东西&#…

机器学习笔记之优化算法(六)线搜索方法(步长角度;非精确搜索;Glodstein Condition)

机器学习笔记之优化算法——线搜索方法[步长角度,非精确搜索,Glodstein Condition] 引言回顾: Armijo Condition \text{Armijo Condition} Armijo Condition关于 Armijo Condition \text{Armijo Condition} Armijo Condition的弊端 Glodstein…

2023年第四届“华数杯”数学建模思路 - 复盘:光照强度计算的优化模型

文章目录 0 赛题思路1 问题要求2 假设约定3 符号约定4 建立模型5 模型求解6 实现代码 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 问题要求 现在已知一个教室长为15米,宽为12米&#xff0…

【技巧】学术Poster的制作要点,详细!

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 内容零零散散均收集自网上,有点杂忘了引用。 内容技巧 https://posts.careerengine.us/p/5dac3e628c131b0541dd9171 展示内容包括(将信息分块) 可选择性删减,注意…

分布式开源监控Zabbix实战

Zabbix作为一个分布式开源监控软件,在传统的监控领域有着先天的优势,具备灵活的数据采集、自定义的告警策略、丰富的图表展示以及高可用性和扩展性。本文简要介绍Zabbix的特性、整体架构和工作流程,以及安装部署的过程,并结合实战…