当前位置: 首页 > news >正文

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服务器 二.新建共享目录和网页文件 三.设置共享目录 四&#xff1a;创建使用nfs共享目录的卷 五&#xff1a;创建容器使用nfs-web-1卷 六&#xff1a;测试访问 七&#xff1a;是否同步测试 什么是NFS NFS 服务器&#xff1a;ne…...

super关键字

super关键字 在Java中&#xff0c;super是一个关键字&#xff0c;它用于引用当前对象的父类。在继承的关系中&#xff0c;子类可以通过super关键字来调用父类的构造方法、成员方法和成员变量。 super关键字的主要用途 调用父类的构造方法&#xff1a; 在子类的构造方法中&…...

【经典算法】LeetCode 200. 岛屿数量(Java/C/Python3/Go实现含注释说明,中等)

目录 题目描述思路及实现方式一&#xff1a;深度优先搜索&#xff08;DFS&#xff09;思路代码实现Java版本C语言版本Python3版本Golang版本 复杂度分析 方式二&#xff1a; 使用广度优先搜索&#xff08;BFS&#xff09;思路代码实现Java实现C实现Python3实现Go实现 总结相似题…...

Hive SQL-DQL-Select查询语句用法详解

HQL Select用法详解 1.基础语法 &#xff08;1&#xff09;select_exp &#xff08;2&#xff09;ALL、DISTINCT &#xff08;3&#xff09;WHERE &#xff08;4&#xff09;分区查询、分区裁剪 &#xff08;5&#xff09;GROUP BY &#xff08;6&#xff09;HAVING &#xff0…...

沙盘Sandboxie v5.56.4

菜鸟高手裸奔工具沙盘Sandboxie是一款国外著名的系统安全工具&#xff0c;它可以让选定程序在安全的隔离环境下运行&#xff0c; 只要在此环境中运行的软件&#xff0c;浏览器或注册表信息等都可以完整的进行清空&#xff0c;不留一点痕迹。同时可以防御些 带有木马或者病毒的…...

Arcpy开发记录

一.GDB数据库相关 1.单独的shape更新时&#xff0c;不会有限制&#xff0c;数据会自动截取 2.在GDB下&#xff0c;使用UpdateCursor更新字段时&#xff0c;填入的数据长度必须与字段长度要求一致&#xff0c;否则报错&#xff1a; 二.Cursor相关 嵌套使用cursor时&#xff0c…...

Android使用itextpdf操作PDF文档

1、导入jar包&#xff1a; itext-asian.jaritextpdf-5.5.8.jar Paragraph 和 Phrase 的区别&#xff1a; 在 iTextPDF 库中&#xff0c;Paragraph 和 Phrase 是用于创建和组织文本内容的两个不同的类。 Paragraph&#xff08;段落&#xff09;&#xff1a; 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. 什么是限流 限流&#xff08;Rate Limiting&#xff09;是一种应用程序或系统资源管理的策略&#xff0c;用于控制对某个服务、接口或功能的访问速…...

ZL-0895小动物活动记录仪可同时检测8只动物的活动量

简单介绍&#xff1a; 小动物活动记录仪是一种多用途、宽范围的小动物活动记录仪器&#xff0c;可用于小鼠、大鼠、豚鼠和兔的实验&#xff0c;小动物活动记录仪​具有不需对动物使用特别盛具的特点&#xff0c;可在不改变动物原生活环境的情况下&#xff0c;进行实时监测&…...

注册测绘师的前世今生

本文梳理了 注册测绘师 的前世今生&#xff0c;具体情况如下表&#xff1a; 历史线时间事件诞生2007年1月原人事部、国家测绘局联合印发《注册测绘师制度暂行规定》&#xff0c;注册测绘师制度建立。同时同步发布《注册测绘师资格考试实施办法》、《注册测绘师资格考核认定办法…...

Python中的异常处理:深入探索try-except-finally结构

Python中的异常处理&#xff1a;深入探索try-except-finally结构 一、引言 在Python编程中&#xff0c;异常处理是一个非常重要的部分。当程序遇到错误时&#xff0c;比如尝试除以零、文件读取失败等&#xff0c;Python会抛出一个异常。如果我们不捕获这些异常&#xff0c;程…...

【R语言】边缘概率密度图

边缘概率密度图是一种在多变量数据分析中常用的图形工具&#xff0c;用于显示每个单独变量的概率密度估计。它通常用于散点图的边缘&#xff0c;以便更好地理解单个变量的分布情况&#xff0c;同时保留了散点图的相关性信息。 在边缘概率密度图中&#xff0c;每个变量的概率密度…...

中国结(科普)

中国结是一种手工编织工艺品&#xff0c;它身上所显示的情致与智慧正是汉族古老文明中的一个侧面。 [1]它原本是由旧石器时代的缝衣打结&#xff0c;后推展至汉朝的仪礼记事&#xff0c;再演变成今日的装饰手艺。周朝人随身的佩戴玉常以中国结为装饰&#xff0c;而战国时代的铜…...

使用Android Studio 搭建AOSP FrameWork 源码阅读开发环境

文章目录 概述安装Android Studio编译源码使用Android Studio打开源码制作ipr文件直接编译成功后自动打开Android Studio 修改SystemUI验证开发环境 概述 我们都知道Android的系统源码量非常之大&#xff0c;大致有frameworka层源码&#xff0c;硬件层(HAL)源码&#xff0c;内…...

区块链 | IPFS:CID

&#x1f98a;原文&#xff1a;Anatomy of a CID &#x1f98a;写在前面&#xff1a;本文属于搬运博客&#xff0c;自己留存学习。 1 CID 在分布式网络中与其他节点交换数据时&#xff0c;我们依赖于内容寻址&#xff08;而不是中心化网络的位置寻址&#xff09;来安全地定位…...

PostgreSQL(十二)报错:Tried to send an out-of-range integer as a 2-byte value: 51000

目录 一、报错场景二、源码分析三、实际原因&#xff08;更加复杂&#xff09;四、解决思路 一、报错场景 今天写了一个历史数据处理程序&#xff0c;在开发环境、测试环境都可以正常执行&#xff0c;但是放到生产环境上就不行&#xff0c;报了一个这样的错误&#xff1a; or…...

Linux守护进程

进程组和会话在 UNIX 系统中是非常重要的概念&#xff0c;特别是在进行作业控制和终端会话管理时。下面是关于进程组和会话的详细解释&#xff1a; 进程组&#xff08;Process Group&#xff09; 定义与作用&#xff1a; 进程组是一个或多个进程的集合&#xff0c;这些进程通常…...

HarmonyOS 应用开发——入门

首先当然是华为的官方文档了&#xff0c;要认真学习: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/start-overview-0000001478061421-V2 不想花时间看&#xff0c;可以看我下面总结的干货&#xff0c;哈哈 第一个问题&#xff1a;stage架构和fa架构的区…...

开源免费的发票识别OCR应用:Invoice

Invoice&#xff1a;轻松识别&#xff0c;发票电子化扫描烦恼消- 精选真开源&#xff0c;释放新价值。 概览 Invoice 是github社区上一个采用开源许可协议发布的增值税发票光学字符识别&#xff08;OCR&#xff09;解决方案项目。该项目不仅集成了预训练的高级模型&#xff0c…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)

CSI-2 协议详细解析 (一&#xff09; 1. CSI-2层定义&#xff08;CSI-2 Layer Definitions&#xff09; 分层结构 &#xff1a;CSI-2协议分为6层&#xff1a; 物理层&#xff08;PHY Layer&#xff09; &#xff1a; 定义电气特性、时钟机制和传输介质&#xff08;导线&#…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...