創建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

查看結果

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/209247.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/209247.shtml
英文地址,請注明出處:http://en.pswp.cn/news/209247.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

算法:進制之前的轉換

1. X進制轉換成十進制-V1&#xff1a; /*** 笨辦法&#xff0c;從左往右開始* Tips&#xff1a;只支持正數** param num* param radix* return*/private static Integer xToTenV1(String num, Integer radix) {if (num.length() 0 || num.charAt(0) -) {throw new IllegalArg…

外貿找客戶軟件工具:BotMaster 18.5 Crack

BotMaster 拓展您的業務大師增加銷量Whatsapp營銷&#xff0c;使用 BotMaster 將您的業務提升到新的水平 - 最強大的 WhatsApp 營銷軟件&#xff0c;可促進銷售和發展您的業務。 BotMaster 是一款革命性的 WhatsApp 營銷工具&#xff0c;于 2022 年 1 月推出。這款功能強大的工…

10 大 Mac 數據恢復軟件深度評測

對于任何依賴計算機獲取重要文件&#xff08;無論是個人照片還是重要商業文檔&#xff09;的人來說&#xff0c;數據丟失可能是一場噩夢。值得慶幸的是&#xff0c;有多種專門為 Mac 用戶提供的數據恢復工具&#xff0c;可以幫助檢索丟失或意外刪除的文件。在本文中&#xff0c…

HNU計算機體系結構-實驗3:多cache一致性算法

文章目錄 實驗3 多cache一致性算法一、實驗目的二、實驗說明三 實驗內容1、cache一致性算法-監聽法模擬2、cache一致性算法-目錄法模擬 四、思考題五、實驗總結 實驗3 多cache一致性算法 一、實驗目的 熟悉cache一致性模擬器&#xff08;監聽法和目錄法&#xff09;的使用&am…

從零構建屬于自己的GPT系列4:模型訓練3(訓練過程解讀、序列填充函數、損失計算函數、評價函數、代碼逐行解讀)

&#x1f6a9;&#x1f6a9;&#x1f6a9;Hugging Face 實戰系列 總目錄 有任何問題歡迎在下面留言 本篇文章的代碼運行界面均在PyCharm中進行 本篇文章配套的代碼資源已經上傳 從零構建屬于自己的GPT系列1&#xff1a;數據預處理 從零構建屬于自己的GPT系列2&#xff1a;模型訓…

[力扣100] 10.滑動窗口的最大值

添加鏈接描述 class Solution:def maxSlidingWindow(self, nums: List[int], k: int) -> List[int]:# 思路是使用單調隊列&#xff0c;把滑動窗口中最大的元素放在最頭quecollections.deque()nlen(nums)res[]# 初始化隊列,隊頭保存最大的數的下標&#xff0c;因為需要下標來…

Spring Security 6.x 系列(10)—— SecurityConfigurer 配置器及其分支實現源碼分析(二)

一、前言 在本系列文章&#xff1a; Spring Security 6.x 系列&#xff08;4&#xff09;—— 基于過濾器鏈的源碼分析&#xff08;一&#xff09; 中著重分析了Spring Security在Spring Boot自動配置、 DefaultSecurityFilterChain和FilterChainProxy 的構造過程。 Spring …

Oauth2.0 認證

目錄 前言 1.介紹 2.Oauth2.0過程詳解 3.Oauth 整合到 Spring Boot 實踐 4.方法及配置詳解&#xff1a; 總結 前言 Oauth2.0 是非常流行的網絡授權表準&#xff0c;已經廣泛應用在全球范圍內&#xff0c;比較大的公司&#xff0c;如騰訊等都有大量的應用場景。 1.介紹 …

ARP欺騙攻擊

一.大概原理 ARP&#xff1a;address solution protocol 地址解析協議 ARP是一種基于局域網的TCP/IP協議&#xff0c;arp欺騙就是基于此協議的漏洞來達成我們的目的的&#xff0c;局域網中的數據傳輸并不是用ip地址傳輸的&#xff0c;而是靠mac地址。 我們如果出于某種目的想…

vue打包完成后出現空白頁原因及解決

vue打包完成后出現空白頁原因及解決 原因 資源路徑不對 路由模式&#xff1a;使用history&#xff0c; 此模式上線后易出現404 解決 1、vue.config.js中配置: publicPath: ./2、在后端要求做重定向 如在nginx中使用rewrite做重定向

【Fastadmin】利用 build_select 做一個樹狀下拉選擇框

1.效果展示 系統crud生成的下拉分類有些不是很好看&#xff0c;并且選擇困難&#xff0c;看不出級差&#xff0c;效果如下&#xff1a; 經過 build_select 加工后的效果,美觀好看&#xff0c;并添加上搜索功能: 2. 首先需要寫一個樹狀圖的數據格式 protected $datalist []; pu…

前沿科技與醫藥領域碰撞,《AI制藥方法與實踐》課程重磅上線

藥物發現是生物學、化學、醫學、藥學等基礎研究與工業轉化的重要窗口。近年來&#xff0c;AI技術的發展&#xff0c;為高投入、高失敗率的制藥行業帶來了全新機遇&#xff0c;或將徹底改變傳統制藥的研究范式。為了幫助更多人了解并掌握這一前沿技術&#xff0c;百度飛槳聯合清…

LeedCode刷題---滑動窗口問題

顧得泉&#xff1a;個人主頁 個人專欄&#xff1a;《Linux操作系統》 《C/C》 《LeedCode刷題》 鍵盤敲爛&#xff0c;年薪百萬&#xff01; 一、長度最小的子數組 題目鏈接&#xff1a;長度最小的子數組 題目描述 給定一個含有 n 個正整數的數組和一個正整數 target 。…

29 水仙花數

題目描述 所謂水仙花數&#xff0c;是指一個n位的正整數&#xff0c;其各位數字的n次方和等于該數本身。 例如153是水仙花數&#xff0c;153是一個3位數&#xff0c;并且1531^35^33^3. 輸入描述 第一行輸入一個整數n&#xff0c;表示一個n位的正整數。n在3到7之間&#xff0c;…

uniapp各種小程序分享 share - 主要流程 - 微信、抖音、快手、qq

參考 小程序環境 分享 | uni-app官網uni-app,uniCloud,serverless,分享,uni.share(OBJECT),分享到微信聊天界面示例代碼,分享到微信朋友圈示例代碼,uni.share 在App端各社交平臺分享配置說明,uni.shareWithSystem(OBJECT),plus.share.sendWithhttps://uniapp.dcloud.net.cn/a…

MCS-51系列與AT89C5x系列單片機的介紹與AT系列的命名規則

MCS-51系列與AT89C5x系列單片機 主要涉及MCS-51系列與AT89C5x系列單片機的介紹與AT系列單片機的命名規則 文章目錄 MCS-51系列與AT89C5x系列單片機一、 MCS-51系列單片機二、AT89C5x系列單片機2.1 AT89C5x/AT89S5x系列單片機的特點2.2 AT89系列單片機的型號說明2.2.1 前綴2.2.2…

數組區段的最大最小值

題干 本題要求實現一個函數&#xff0c;找出數組中一部分數據的最大值和最小值。 題目保證沒有無效數據。 函數接口定義&#xff1a; void sublistMaxMin ( int* from, int* to, int* max, int* min ); 其中 from和to都是用戶傳入的參數&#xff0c;分別存放數組部分數據的起…

深度綁定的二維碼

南京西祠 500 萬股股份被以 1 元價格掛牌轉讓。 唏噓不已&#xff0c;就像現在的孩子們都知道玩抖音&#xff0c;我們那個時代&#xff0c;西祠胡同就是互聯網的代名詞。在一個叫做西祠胡同的地方&#xff0c;住著一群村里的年輕人&#xff0c;他們痛并快樂著&#xff0c;渴望…

節省時間,提高效率:深入解析MyBatis Plus

1. MyBatis Plus 概述 將Mybatis 通用Mapper PageHelper 升級成 MyBatis Plus 1.1 簡介 官網&#xff1a;https://baomidou.com/ 參考教程&#xff1a;https://baomidou.com/pages/24112f/ MyBatis-Plus&#xff08;簡稱 MP&#xff09;是一個 MyBatis 的增強工具&#…

QT之常用按鈕組件

QT之常用按鈕組件 導入圖標 布局 顯示選中 實驗結果 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }void Widget::on_push…