docker学习笔记(三)搭建NFS服务实验

news2024/11/19 10:44:38

目录

什么是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.coloradmin.cn/o/1655422.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1688数据分析实操技巧||1688商品数据采集接口 数据分析

今天&#xff0c;聊一聊B2B平台的数据分析&#xff0c;以1688国内站为例。 1688平台数据接口 1688也属于阿里巴巴的体系&#xff0c;跟淘宝天猫运营很像&#xff0c;因此很多淘宝天猫的玩法调整后也适用于1688。数据分析也是如此。 在1688搞数据分析&#xff0c;搞数据化运营可…

【Ansible】ansible-playbook剧本

playbook 是ansible的脚本 playbook的组成 1&#xff09;Tasks&#xff1a;任务&#xff1b;通过tasks 调用ansible 的模板将多个操作组织在一个playbook中运行 2&#xff09;Variables&#xff1a;变量 3&#xff09;Templates&#xff1a;模板 4&#xff09;Handles&#xf…

Xilinx FPGA底层逻辑资源简介(1):关于LC,CLB,SLICE,LUT,FF的概念

LC&#xff1a;Logic Cell 逻辑单元 Logic Cell是Xilinx定义的一种标准&#xff0c;用于定义不同系列器件的大小。对于7系列芯片&#xff0c;通常在名字中就已经体现了LC的大小&#xff0c;在UG474中原话为&#xff1a; 对于7a75t芯片&#xff0c;LC的大小为75K&#xff0c;6输…

【YOLOv8改进[Backbone]】使用SCINet改进YOLOv8在黑暗环境的目标检测效果

目录 一 SCINet 1 本文方法 ① 权重共享的照明学习 ② 自校准模块 ③ 无监督训练损失 二 使用SCINet助力YOLOv8在黑暗环境的目标检测效果 1 整体修改 2 配置文件 3 训练 其他 一 SCINet 官方论文地址&#xff1a;https://arxiv.org/pdf/2204.10137 官方代码地址&…

01-单片机商业项目编程,从零搭建低功耗系统设计

一、引言 这是关于《单片机商业编程之从零搭建低功耗系统》的第一篇章&#xff0c;个人善忘&#xff0c;平常项目设计当中的一些思路&#xff0c;以前年轻的时候习惯性的录制成视频&#xff0c;也算是当作是自己的笔记&#xff0c;无奈现在喉咙实在扛不住&#xff0c;因此先尝试…

ElementUI Select选择器多选获取选中对象

html <el-form-item label"账户标签&#xff1a;" prop"tags"><el-selectstyle"width: 500px"value-key"tagId"v-model"form.tags"clearablefilterablemultipleplaceholder"请搜索选择账户标签"><…

SQL查询语句(四)模糊查询

前文介绍的查询语句&#xff0c;无论是利用常规的数学运算符&#xff0c;还是IN&#xff0c;BETWEEN和EXISTS等范围查询关键字&#xff0c;本质上都属于精确查询的范围&#xff0c;也就是说&#xff0c;我们在条件中写明了完全限定死的条件。而有些场景&#xff0c;我们的条件并…

《视觉十四讲》例程运行记录(1)—— 课本源码下载和3rdparty文件夹是空的解决办法

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、第二版十四讲课本源码下载1. 安装git工具 二、Pangolin下载和安装1. 源码下载2. Pangolin的安装(1) 安装依赖项(2) 源码编译安装(2) 测试是否安装成功 二、…

PHPStudy 访问网页 403 Forbidden禁止访问

涉及靶场 upload-labd sqli-labs pikachu dvwa 以及所有部署在phpstudy中的靶场 注意&#xff1a;一定要安装解压软件 很多同学解压靶场代码以后访问报错的原因是&#xff1a;电脑上没有解压软件。 这个时候压缩包看起来就是黄色公文包的样子&#xff0c;右键只有“全部提取…

基于C语言中的类型转换,C++标准创造出了更加可视化的类型转换

目录 前言 一、 C语言中的类型转换 二、为什么C需要四种类型转换 三、C中新增的四种强制类型转换操作符以及它们的应用场景 1.static_cast 2.reinterpret_cast 3.const_cast 4.dynamic_cast 前言 在C语言中&#xff0c;如果赋值运算符左右两侧的类型不同&#xff0c;或者…

渗透之sql注入实战2(二次注入)

目录 平台地址&#xff1a; 开始&#xff1a; 方法1&#xff1a; 方法二 找提示 这里存在一个文件包含&#xff08;file&#xff09;。 爆源码 index.php源码 confirm.php源码&#xff1a; search.php源码&#xff1a; change.php源码&#xff1a; delete.php源码&…

【论文浅尝】Large Language Models for Generative Information Extraction: A Survey

本文对生成式IE的LLM进行了全面的探索。使用两种分类法对现有的代表性方法进行分类: (1)众多IE子任务的分类法&#xff0c;旨在对可以使用llm单独或统一提取的不同类型的信息进行分类; (2)学习范式分类法&#xff0c;对利用llm生成IE的各种新方法进行分类。 Preliminaries o…

学习Uni-app开发小程序Day3

经过五一长假&#xff0c;回过头在去看学习的东西&#xff0c;发现仍然是一筹莫展的&#xff0c;看来&#xff0c;学习是不能松懈的&#xff0c;得&#xff0c;自己在把以前的从头复习一遍&#xff0c;加深印象。今天在继续听课&#xff0c;但是出现一个问题&#xff0c;是黑码…

实践指南:如何将SpringBoot项目无缝部署到Tomcat服务器

序言 SpringBoot 是一个用来简化 Spring 应用初始搭建以及开发过程的框架&#xff0c;我们可以通过内置的 Tomcat 容器来轻松地运行我们的应用。但在生产环境中&#xff0c;我们可能需要将应用部署到独立的 Tomcat 服务器上。本文给大家介绍 SpringBoot 项目部署到独立 Tomcat…

Springboot+Vue项目-基于Java+MySQL的个人云盘管理系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

连接docker中的MySQL出现2058错误

出错场景&#xff1a;在虚拟机中用docker技术下载最新版本的MySQL&#xff0c;在本地电脑上连接发现出现2058错误。 解决方法&#xff1a; 按照以下步骤 1. 2. ALTER USER root% IDENTIFIED WITH mysql_native_password BY 自己MySQL的密码; 3.成功

如何查看公网IP开放端口?

在计算机网络中&#xff0c;公网IP是指能够直接访问互联网的IP地址&#xff0c;而开放端口则是指外部网络可以访问的服务端口。查看公网IP开放端口可以帮助我们了解当前网络环境中哪些服务可以被外部网络访问&#xff0c;对于网络安全和远程连接非常重要。 天联组网 天联组网是…

延迟加载过多对性能的影响

延迟加载是一种将资源下载操作推迟到需要时再下载的技术&#xff0c;可以节省流量并减少关键资源的网络争用。它于2019年成为 Web 标准&#xff0c;今天大多数主流浏览器支持图片的 loading"lazy"。 听起来不错&#xff0c;但是否存在延迟加载过多的情况&#xff1f;…

Sarcasm detection论文解析 |使用 BERT 进行中间任务迁移学习的刺检测

论文地址 论文地址&#xff1a;https://www.mdpi.com/2227-7390/10/5/844#/ github&#xff1a;edosavini/TransferBertSarcasm (github.com) 论文首页 笔记框架 使用 BERT 进行中间任务迁移学习的讽刺检测 &#x1f4c5;出版年份:2022 &#x1f4d6;出版期刊:Mathematics &…

您可以使用WordPress创建的19种网站类型

当人们决定为什么他们应该使用WordPress时&#xff0c;我们经常会被问到“WordPress可以做[空白]吗&#xff1f;答案大多是肯定的。在本文中&#xff0c;我们将向您展示您可以使用WordPress创建的19种不同类型的网站&#xff0c;而无需学习任何编程技巧。 目录 隐藏 1 开始使用…