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的信息再用第三个容器去访问可以看到有同步的更改,测试结果如图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/323186.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

webpack如何自定义一个loader

我们在使用脚手架的搭建项目的时候往往都会帮我们配置好所需的loader&#xff0c;接下来讲一下我们要如何自己写一个loader应用到项目中&#xff08;完整代码在最后&#xff09; 1. 首先搭建一个项目并找到webpack配置文件&#xff08;webpack.config.js&#xff09; 在modul…

95、动态规划-编辑距离

递归暴力解法 递归方法的基本思想是考虑最后一个字符的操作&#xff0c;然后根据这些操作递归处理子问题。 递归函数定义&#xff1a;定义一个递归函数 minDistance(i, j)&#xff0c;表示将 word1 的前 i 个字符转换成 word2 的前 j 个字符所需的最小操作数。 递归终止条件…

无人直播需要什么软件系统?最新AI实景自动无人直播软件:智能化引领直播拓客新时代

随着互联网的快速发展&#xff08;无人直播招商加盟&#xff1a;hzzxar&#xff09;直播行业已经成为商家品牌推广和商品销售的热门方式。近年来&#xff0c;人工智能技术的飞速发展&#xff0c;催生了一款令人惊叹的AI实景自动无人直播软件&#xff0c;为商家提供了全新的直播…

ADG的备库mrp进程状态一直显示WAIT_FOR_LOG

ADG的备库mrp进程状态一直显示WAIT_FOR_LOG 问题描述 在搭建完单机主备的adg后&#xff0c;MRP0进程的状态一直显示WAIT_FOR_LOG&#xff0c;这个和预期的APPLYING_LOG不符。另外经过测试发现&#xff0c;主备插入数据&#xff0c;备库只有当手动切换归档日志&#xff0c;备库…

前后端分离项目中的一些疑惑

1、前后端分离项目&#xff0c;浏览器发起请求后&#xff0c;请求的是前端服务器还是后端服务器&#xff1f; 在前后端分离的项目中&#xff0c;当浏览器发起请求时&#xff0c;它首先会请求的是前端服务器。 前后端分离的工作流程大致如下&#xff1a; 用户在浏览器中输入网…

【Linux】深浅睡眠状态超详解!!!

1.浅度睡眠状态【S】&#xff08;挂起&#xff09; ——S (sleeping)可中断睡眠状态 进程因等待某个条件&#xff08;如 I/O 完成、互斥锁释放或某个事件发生&#xff09;而无法继续执行。在这种情况下&#xff0c;进程会进入阻塞状态&#xff0c;在阻塞状态下&#xff0c;进程…

开源离线AI笔记应用

前言 Reor 是一款人工智能驱动的桌面笔记应用程序&#xff0c;它能自动链接相关笔记、回答笔记中的问题并提供语义搜索。所有内容都存储在本地&#xff0c;支持 Windows、Linux 和 MacOS。Reor 站在 Ollama、Transformers.js 和 LanceDB 等巨头的肩膀上&#xff0c;使 LLM 和嵌…

C语言—操作符详解(操作符、进制转换、原码反码补码、结构体)

1.操作符分类 算术操作符&#xff1a; 、- 、 * 、 / 、%移位操作符&#xff1a;<< >> //移动的是二进制位位操作符&#xff1a;& | ^ //使用二进制位进行计算赋值操作符&#…

【FX110】2024外汇市场中交易量最大的货币对是哪个?

作为最大、最流动的金融市场之一&#xff0c;外汇市场每天的交易量高达几万亿美元&#xff0c;涉及到数百种货币。不同货币对的交易活跃程度并不一样&#xff0c;交易者需要根据货币对各自的特点去进行交易。 全年外汇市场中涉及美元的外汇交易超过50%&#xff01; 实际上&…

下一代自动化,国外厂商如何通过生成性AI重塑RPA?

企业自动化的未来趋势是什么&#xff1f;科技巨头们普遍认为&#xff0c;由生成性AI驱动的AI Agent将成为下一个重大发展方向。尽管“AI Agent”这一术语尚无统一定义&#xff0c;但它通常指的是那些能够根据指令通过模拟人类互动&#xff0c;在软件和网络平台上执行复杂任务的…

【每日刷题】Day35

【每日刷题】Day35 &#x1f955;个人主页&#xff1a;开敲&#x1f349; &#x1f525;所属专栏&#xff1a;每日刷题&#x1f34d; &#x1f33c;文章目录&#x1f33c; 1. 844. 比较含退格的字符串 - 力扣&#xff08;LeetCode&#xff09; 2. 2487. 从链表中移除节点 - 力…

ThreeJS:光线投射与3D场景交互

光线投射Raycaster 光线投射详细介绍可参考&#xff1a;https://en.wikipedia.org/wiki/Ray_casting&#xff0c; ThreeJS中&#xff0c;提供了Raycaster类&#xff0c;用于进行鼠标拾取&#xff0c;即&#xff1a;当三维场景中鼠标移动时&#xff0c;利用光线投射&#xff0c;…

el-dialog设置el-head固定

0 效果 1 代码 ::v-deep .adTextDetailDialogClass .el-dialog__body{max-height: calc(100vh - 150px);overflow: auto;border-top:1px solid #dfdfdf;border-bottom:1px solid #dfdfdf; } ::v-deep .adTextDetailDialogClass .el-dialog{position: fixed;height:fit-content;…

蓝桥杯省三爆改省二,省一到底做错了什么?

到底怎么个事 这届蓝桥杯选的软件测试赛道&#xff0c;都说选择大于努力,软件测试一不卷二不难。省赛结束&#xff0c;自己就感觉稳啦&#xff0c;全部都稳啦。没想到一出结果&#xff0c;省三&#xff0c;g了。说落差&#xff0c;是真的有一点&#xff0c;就感觉和自己预期的…

MFC实现点击列表头进行排序

MFC实现点击列表头排序 1、添加消息处理函数 在列表窗口右键&#xff0c;类向导。选择 IDC_LIST1&#xff08;我的列表控件的ID&#xff09;&#xff0c;消息选择LVN_COLUMNCLICK。 2、消息映射如下 然后会在 cpp 文件中生成以下函数 void CFLashSearchDlg::OnLvnColumnclic…

C 深入指针(1)

目录 一、const 1、const修饰变量 2、const修饰指针 2.1 const int* p&#xff08;int const* p&#xff09; 2.2 int* const p 2.3 结论 二、指针运算 1、指针 - 整数 2、指针 - 指针 3、指针的关系运算 三、指针的使用 1、模拟实现 strlen 2、传值调用和传址调用…

ContEA阅读笔记

Facing Changes: Continual Entity Alignment for Growing Knowledge Graphs 面对变化&#xff1a;不断增长的知识图谱的持续实体对齐 Abstract 实体对齐是知识图谱(KG)集成中一项基本且重要的技术。多年来&#xff0c;实体对齐的研究一直基于知识图谱是静态的假设&#xff…

wlan二层旁挂组网实验

实验拓扑图 代码&#xff1a; SW1 <Huawei>sys Enter system view, return user view with CtrlZ. [Huawei]sysn sw1 [sw1]undo info-center enable Info: Information center is disabled. [sw1]vlan batch 10 20 30 Info: This operation may take a few seconds. …

SpringCloud Alibaba Sentinel 修改Dashboard用户名和密码

目录 一、下载Sentinel的Jar包 二、在启动时修改用户名和密码的命令 三、测试登录成功 在网上找到了一大堆文章&#xff0c;没一个有用的&#xff0c;最终还是通过不断测试找到了这个方法。 一、下载Sentinel的Jar包 Releases alibaba/Sentinel GitHub 二、在启动时修改…

【网络安全产品】---应用防火墙(WAF)

what Web应用防火墙&#xff08;Web Application Firewall) WAF可对网站或者App的业务流量进行恶意特征识别及防护&#xff0c;在对流量清洗和过滤后&#xff0c;将正常、安全的流量返回给服务器&#xff0c;避免网站服务器被恶意入侵导致性能异常等问题&#xff0c;从而保障…