创建dockerSwarm nfs挂载

2023-12-10 09:13
文章标签 创建 nfs 挂载 dockerswarm

本文主要是介绍创建dockerSwarm nfs挂载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

创建dockerSwarm nfs挂载

nfs高可用部署(lsyncd两主机双向同步)
nfs高可用部署(lsyncd三主机三向同步)

1. 通过 Volume

1.1 创建 Docker Volume

每个 swarm 节点均创建相同名称的 Docker Volume(名称为 nfs120)

docker volume create --driver local \--opt type=nfs \--opt o=addr=192.168.56.120,rw \--opt device=:/home/nfs \nfs120

1.2 查看 Volume 是否创建成功

docker volume ls
# swarm集群节点依次进行验证

在这里插入图片描述

1.3 查看 Volume 详情

docker volume inspect nfs120

在这里插入图片描述

其中:Mountpoint 为 Host 挂载点,Options 为 NFS 服务共享目录信息。

1.4 验证数据共享特性

在 docker swarm 的 master 节点执行创建服务操作

docker service rm web
docker service create \--name web \--publish 8080:80 \--mount type=volume,source=nfs120,destination=/data1 \--mode global \nginx:1.22

1.5 查看 Service 部署情况

在这里插入图片描述

1.6 验证数据共享特性 NFS 服务创建测试数据

在这里插入图片描述

1.7 Service 验证是否共享 NFS 数据

在这里插入图片描述

可见,数据被共享了,当然,你在容器中 /data1目录下产生的数据也会被持久化到 NFS 服务上。

当然,Nginx 也是正常运行的

在这里插入图片描述

2. 通过 Docker Stack

官方文档 Docker Stack CLI

通过 Volume 方式,你会发现每台 swarm 集群 work 节点都需要创建 Volume(如果 master 节点也为 work 节点,也要创建 Volume )。稍显麻烦,我们可通过 Docker Stack 方式来弥补这点不足,也就是使用 Docker Stack 方式时,就不需要手动创建 Docker Volume 了。

2.1 启动一个stack服务

官方文档:docker compose CLI

创建每个节点都启动一个容器的service

cat > docker-compose.yml  << EOF
version: "3"
services:web:image: nginx:1.22volumes:- nfs121:/dataports:- "8081:80"  deploy:    mode: global  
volumes:nfs121:driver: localdriver_opts:type: "nfs"o: "addr=192.168.56.120,rw"device: ":/home/nfs"
EOFdocker service rm web_web
# 启动一个web_web 的service
docker stack deploy -c docker-compose.yml web

2.2 查询服务及挂载volume是否存在

docker service ls
docker service ps web_web
docker volume ls
docker volume inspect web_nfs121

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.3 验证数据共享特性

docker exec -it web_web.mv3jjl59io5wx0sywoghdatqs.6nom1h5z2w0r9cyykb2gse8wy /bin/bash

在这里插入图片描述

以上步骤成功!

FQA:

1.create service 创建其他节点也存在volume

docker service create --mode global \--name web122 \--publish 8082:80 \--mount 'type=volume,source=nfs122,target=/home/nfs,volume-driver=local,volume-opt=type=nfs,volume-opt=device=:/home/nfs,volume-opt=o=addr=192.168.56.120' \nginx:1.22

查看结果

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

这篇关于创建dockerSwarm nfs挂载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/476682

相关文章

Python中conda虚拟环境创建及使用小结

《Python中conda虚拟环境创建及使用小结》本文主要介绍了Python中conda虚拟环境创建及使用小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录0.前言1.Miniconda安装2.conda本地基本操作3.创建conda虚拟环境4.激活c

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

Java中对象的创建和销毁过程详析

《Java中对象的创建和销毁过程详析》:本文主要介绍Java中对象的创建和销毁过程,对象的创建过程包括类加载检查、内存分配、初始化零值内存、设置对象头和执行init方法,对象的销毁过程由垃圾回收机... 目录前言对象的创建过程1. 类加载检查2China编程. 分配内存3. 初始化零值4. 设置对象头5. 执行

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Python创建Excel的4种方式小结

《Python创建Excel的4种方式小结》这篇文章主要为大家详细介绍了Python中创建Excel的4种常见方式,文中的示例代码简洁易懂,具有一定的参考价值,感兴趣的小伙伴可以学习一下... 目录库的安装代码1——pandas代码2——openpyxl代码3——xlsxwriterwww.cppcns.c

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

MySQL分表自动化创建的实现方案

《MySQL分表自动化创建的实现方案》在数据库应用场景中,随着数据量的不断增长,单表存储数据可能会面临性能瓶颈,例如查询、插入、更新等操作的效率会逐渐降低,分表是一种有效的优化策略,它将数据分散存储在... 目录一、项目目的二、实现过程(一)mysql 事件调度器结合存储过程方式1. 开启事件调度器2. 创

mysql外键创建不成功/失效如何处理

《mysql外键创建不成功/失效如何处理》文章介绍了在MySQL5.5.40版本中,创建带有外键约束的`stu`和`grade`表时遇到的问题,发现`grade`表的`id`字段没有随着`studen... 当前mysql版本:SELECT VERSION();结果为:5.5.40。在复习mysql外键约