docker学习笔记(三)搭建NFS服务实验
目录
什么是NFS
简单架构编辑
一.搭建nfs服务器
二.新建共享目录和网页文件
三.设置共享目录
四:创建使用nfs共享目录的卷
五:创建容器使用nfs-web-1卷
六:测试访问
七:是否同步测试
什么是NFS
NFS 服务器:network file system 网络文件系统 NFS 是一种用于在网络上共享文件系统的协议,允许多台计算机之间共享文件。通过创建这样一个 NFS 卷,可以在 Docker 容器之间共享持久化数据,以及与其他计算机上的文件系统进行数据交换。
简单架构
准备好2台机器
一台做nfs使用,一台是docker宿主机
在nfs上创建一个共享目录给宿主机使用,并且修改/etc/export配置文件共享出去,再在docker上创建一个卷,使用nfs协议挂在到docker宿主机上。卷相当于是桥梁,将宿主机和nfs服务器连接起来
一.搭建nfs服务器
1.更改主机名
[root@web-server ~]# hostnamectl set-hostname nfs
[root@web-server ~]# su
2.关闭防火墙
[root@nfs ~]# service firewalld stop
Redirecting to /bin/systemctl stop firewalld.service
[root@nfs ~]# systemctl disable firewalld
[root@nfs ~]# getenforce
Disabled ##此时显示防火墙是禁用的了
3.安装
注意:建议docker集群内的所有的节点都安装nfs-utils软件,因为节点服务器里创建卷需要支持nfs网络文件系
[root@docker _data]# yum install nfs-utils -y
[root@docker _data]# yum install nfs-utils -y
4.开启nfs以及开机启动
[root@nfs ~]# service nfs start 启动nfs服务
Redirecting to /bin/systemctl start nfs.service
[root@nfs ~]# systemctl enable nfs 设置nfs服务开机启动
二.新建共享目录和网页文件
/web_data共享目录和index.html网页文件
[root@nfs ~]# mkdir /web_data
[root@nfs ~]# cd /web_data
[root@nfs web_data]# ls
feng.jpg index.html ##/web_data的文件来自192.168.203.128的宿主
[root@docker web_data]# cd _data/
[root@docker _data]# ls
feng.jpg index.html
[root@docker _data]# scp -r * 192.168.203.146:/web_data
这里之前已经写好了一个简单网页文件index.html并放置了图片 ,scp直接远程拿取文件过来,再输入密码就可以拷贝过来
三.设置共享目录
1.编辑配置文件
vim /etc/exports 这是nfs的共享配置文件
/web_data 192.168.203.0/24(rw,all_squash,sync) 将这条命令写到配置文件中
rw 是读写权限 read write
ro 是只读权限 readonly
sync:同步:容器写数据到卷里面,卷再把数据传给nfs同时完成 --》优点:不丢失数据
async:异步 : 可以错开时间,分开进行,有时间差 --》异步效率高(可以错开时间,不耽误时间),有可能会丢失数据
no_root_squash 其他机器的root用户连接过来nfs服务的时候,把它当做root用户对待
root_squash 其他机器的root用户连接过来nfs服务的时候,不把它当做root用户对待,把它当做普通的用户对待(nfsnobody)
all_squash 其他机器的所有的用户(任意用户)连接过来nfs服务的时候,把它当做普通的用户对待(nfsnobody)
2.给予权限
因为考虑到给其他的机器读写的权限,需要在linux系统里也要给与读写的权限
因为/web_data是属于root用户所有,但是nfs服务是以nfsnobody的用户身份去访问/web_data目录的,不然就没有写的权限,只有读的权限
[root@nfs web_data]# ll -d /web_data/
drwxr-xr-x 2 root root 40 1月 11 15:09 /web_data/
[root@nfs web_data]# chmod 777 /web_data/
[root@nfs web_data]# ll -d /web_data/
drwxrwxrwx 2 root root 40 1月 11 15:09 /web_data/
刷新nfs或者重新输出共享目录
[root@nfs web_data]# service nfs restart 刷新nfs服务也会重新输出共享目录
Redirecting to /bin/systemctl restart nfs.service
四:创建使用nfs共享目录的卷
在docker宿主机上操作创建卷,这个卷
[root@docker test-nfs]# docker volume create --driver local --opt type=nfs --opt o=addr=192.168.203.146,nolock,soft,rw,sync --opt device=:/web_data nfs-web-1
在 Docker 中创建一个名为 nfs-web-1 的卷,并将其配置为使用 NFS作为驱动程序。
同时NFS这个驱动程序的配置选项如下:

五:使用nfs-web-1卷
[root@docker test-nfs]# docker run -d --name wangyong-nginx-1 -p 7001:80 -v nfs-web-1:/usr/share/nginx/html nginx
这条命令的作用是创建并运行一个名为 "wangyong-nginx-1" 的容器,该容器基于 Nginx 镜像,在主机的 7001 端口上提供 Web 服务,并通过卷 "nfs-web-1" 将主机上的目录挂载到容器中。
[root@docker test-nfs]# docker run -d --name wangyong-nginx-2 -p 7002:80 -v nfs-web-1:/usr/share/nginx/html nginx
[root@docker test-nfs]# docker run -d --name wangyong-nginx-3 -p 7003:80 -v nfs-web-1:/usr/share/nginx/html nginx
六:测试访问
在windows的主机上访问docker宿主机的7001 7002 7003端口



七:是否同步测试
[root@nfs web_data]# pwd
/web_data
[root@nfs web_data]# ls
feng.jpg index.html niweinan
[root@nfs web_data]# vim index.html
<html>
<title>welcome to sanchuang</title>
<body><p> welcome to hunan changsha sanchuang</p><h1><p> PhoneNO:18908495097</p></h1><h1><p> QQ:695811769</p></h1><img src=feng.jpg width=400>
</body>
</html>
这就是写的html文件,图片是安装软件之后直接在windows桌面拖拽到当前目录过来的
修改一下文件,加入QQ的信息再用第三个容器去访问可以看到有同步的更改,测试结果如图

相关文章:
docker学习笔记(三)搭建NFS服务实验
目录 什么是NFS 简单架构编辑 一.搭建nfs服务器 二.新建共享目录和网页文件 三.设置共享目录 四:创建使用nfs共享目录的卷 五:创建容器使用nfs-web-1卷 六:测试访问 七:是否同步测试 什么是NFS NFS 服务器:ne…...
super关键字
super关键字 在Java中,super是一个关键字,它用于引用当前对象的父类。在继承的关系中,子类可以通过super关键字来调用父类的构造方法、成员方法和成员变量。 super关键字的主要用途 调用父类的构造方法: 在子类的构造方法中&…...
【经典算法】LeetCode 200. 岛屿数量(Java/C/Python3/Go实现含注释说明,中等)
目录 题目描述思路及实现方式一:深度优先搜索(DFS)思路代码实现Java版本C语言版本Python3版本Golang版本 复杂度分析 方式二: 使用广度优先搜索(BFS)思路代码实现Java实现C实现Python3实现Go实现 总结相似题…...
Hive SQL-DQL-Select查询语句用法详解
HQL Select用法详解 1.基础语法 (1)select_exp (2)ALL、DISTINCT (3)WHERE (4)分区查询、分区裁剪 (5)GROUP BY (6)HAVING ࿰…...
沙盘Sandboxie v5.56.4
菜鸟高手裸奔工具沙盘Sandboxie是一款国外著名的系统安全工具,它可以让选定程序在安全的隔离环境下运行, 只要在此环境中运行的软件,浏览器或注册表信息等都可以完整的进行清空,不留一点痕迹。同时可以防御些 带有木马或者病毒的…...
Arcpy开发记录
一.GDB数据库相关 1.单独的shape更新时,不会有限制,数据会自动截取 2.在GDB下,使用UpdateCursor更新字段时,填入的数据长度必须与字段长度要求一致,否则报错: 二.Cursor相关 嵌套使用cursor时,…...
Android使用itextpdf操作PDF文档
1、导入jar包: itext-asian.jaritextpdf-5.5.8.jar Paragraph 和 Phrase 的区别: 在 iTextPDF 库中,Paragraph 和 Phrase 是用于创建和组织文本内容的两个不同的类。 Paragraph(段落): Paragraph 是一个…...
llama_index微调BGE模型
微调模型是为了让模型在特殊领域表现良好,帮助其学习到专业术语等。 本文采用llama_index框架微调BGE模型,跑通整个流程,并学习模型微调的方法。 已开源:https://github.com/stay-leave/enhance_llm 一、环境准备 Linux环境,GPU L20 48G,Python3.8.10。 pip该库即可。…...
什么是限流?常见的限流算法
目录 1. 什么是限流 2. 常见限流算法 3. 固定窗口算法 4. 滑动窗口算法 5. 漏桶算法 6. 令牌桶算法 7. 限流算法选择 1. 什么是限流 限流(Rate Limiting)是一种应用程序或系统资源管理的策略,用于控制对某个服务、接口或功能的访问速…...
ZL-0895小动物活动记录仪可同时检测8只动物的活动量
简单介绍: 小动物活动记录仪是一种多用途、宽范围的小动物活动记录仪器,可用于小鼠、大鼠、豚鼠和兔的实验,小动物活动记录仪具有不需对动物使用特别盛具的特点,可在不改变动物原生活环境的情况下,进行实时监测&…...
注册测绘师的前世今生
本文梳理了 注册测绘师 的前世今生,具体情况如下表: 历史线时间事件诞生2007年1月原人事部、国家测绘局联合印发《注册测绘师制度暂行规定》,注册测绘师制度建立。同时同步发布《注册测绘师资格考试实施办法》、《注册测绘师资格考核认定办法…...
Python中的异常处理:深入探索try-except-finally结构
Python中的异常处理:深入探索try-except-finally结构 一、引言 在Python编程中,异常处理是一个非常重要的部分。当程序遇到错误时,比如尝试除以零、文件读取失败等,Python会抛出一个异常。如果我们不捕获这些异常,程…...
【R语言】边缘概率密度图
边缘概率密度图是一种在多变量数据分析中常用的图形工具,用于显示每个单独变量的概率密度估计。它通常用于散点图的边缘,以便更好地理解单个变量的分布情况,同时保留了散点图的相关性信息。 在边缘概率密度图中,每个变量的概率密度…...
中国结(科普)
中国结是一种手工编织工艺品,它身上所显示的情致与智慧正是汉族古老文明中的一个侧面。 [1]它原本是由旧石器时代的缝衣打结,后推展至汉朝的仪礼记事,再演变成今日的装饰手艺。周朝人随身的佩戴玉常以中国结为装饰,而战国时代的铜…...
使用Android Studio 搭建AOSP FrameWork 源码阅读开发环境
文章目录 概述安装Android Studio编译源码使用Android Studio打开源码制作ipr文件直接编译成功后自动打开Android Studio 修改SystemUI验证开发环境 概述 我们都知道Android的系统源码量非常之大,大致有frameworka层源码,硬件层(HAL)源码,内…...
区块链 | IPFS:CID
🦊原文:Anatomy of a CID 🦊写在前面:本文属于搬运博客,自己留存学习。 1 CID 在分布式网络中与其他节点交换数据时,我们依赖于内容寻址(而不是中心化网络的位置寻址)来安全地定位…...
PostgreSQL(十二)报错:Tried to send an out-of-range integer as a 2-byte value: 51000
目录 一、报错场景二、源码分析三、实际原因(更加复杂)四、解决思路 一、报错场景 今天写了一个历史数据处理程序,在开发环境、测试环境都可以正常执行,但是放到生产环境上就不行,报了一个这样的错误: or…...
Linux守护进程
进程组和会话在 UNIX 系统中是非常重要的概念,特别是在进行作业控制和终端会话管理时。下面是关于进程组和会话的详细解释: 进程组(Process Group) 定义与作用: 进程组是一个或多个进程的集合,这些进程通常…...
HarmonyOS 应用开发——入门
首先当然是华为的官方文档了,要认真学习: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/start-overview-0000001478061421-V2 不想花时间看,可以看我下面总结的干货,哈哈 第一个问题:stage架构和fa架构的区…...
开源免费的发票识别OCR应用:Invoice
Invoice:轻松识别,发票电子化扫描烦恼消- 精选真开源,释放新价值。 概览 Invoice 是github社区上一个采用开源许可协议发布的增值税发票光学字符识别(OCR)解决方案项目。该项目不仅集成了预训练的高级模型,…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
汽车生产虚拟实训中的技能提升与生产优化
在制造业蓬勃发展的大背景下,虚拟教学实训宛如一颗璀璨的新星,正发挥着不可或缺且日益凸显的关键作用,源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例,汽车生产线上各类…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
uniapp 实现腾讯云IM群文件上传下载功能
UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中,群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS,在uniapp中实现: 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...
