【赵渝强老师】Docker Swarm集群的数据持久化
- volume 默认模式:工作节点宿主机数据同步到容器内。
- volume NFS 共享存储模式:管理节点宿主同步到工作节点宿主,工作节点宿主同步到容器。

- 在Swarm上部署服务,同时指定相应的数据卷
docker service create -p 7788:80 --replicas 3 --name myswarmtest \
--mount type=volume,src=myvolumn,dst=/usr/share/nginx/html/ collenzhao/mynginx:v1
- 查看数据卷
docker volume ls

- 查看数据卷挂载的目录
docker volume inspect myvolumn



yum -y install nfs-utils
- 开启NFS服务
systemctl enable nfs
systemctl start nfs
- 创建NFS目录
mkdir /nfs
- 编辑NFS配置文件
vi /etc/exports 输入以下内容:
/nfs *(rw,sync,no_root_squash) 参数说明:
/nfs : 共享的目录
* : 可以访问的主机网段,星号表示所有网段。
rw : 可读写权限,只读权限ro
sync : 同步,数据更安全,速度慢
async : 异步,速度快,效率高,安全性低
no_root_squash :NFS 服务共享的目录的属性, 如果用户是root, 对这个目录就有root的权限
- 重启NFS
systemctl restart nfs
- 启动NFS客户端
systemctl start rpcbind
- 测试挂载nfs共享目录
mount -t nfs 192.168.15.140:/nfs /mynfs 其中:192.168.15.140为node3(NFS服务器的地址)
- 在文件/mynfs/a.txt 输入一些内容,在nfs服务器端查看是否能够看到刚才输入的内容。也可以通过下面的语句卸载NFS目录。
umount /mynfs/
4、基于NFS共享目录,创建Swarm集群服务
docker service create \
--replicas 3 \
--name my-nginx \
-p 7788:80 \
--mount 'type=volume,src=my-nfs-vol,dst=/usr/share/nginx/html,volume-driver=local,volume-nocopy=true,volume-opt=type=nfs,volume-opt=device=192.168.15.140:/nfs,"volume-opt=o=addr=192.168.15.140,vers=4,soft,timeo=180,bg,tcp,rw"' \
collenzhao/mynginx:v1
参数说明:

- 在Manager节点上,查看服务和数据卷目录
docker service ls

docker volume ls

- 查看node1数据卷目录
docker volume ls

- 查看node2数据卷目录
docker volume ls


- 在任意一个节点上,进入数据卷共享目录修改a.html

【赵渝强老师】Docker Swarm集群的数据持久化的更多相关文章
- 通过docker-machine和etcd部署docker swarm集群
本片文章介绍一下 使用docker-machine 搭建docker swarm 集群:docker swarm是docker 官方搭建的容器集群编排工具:容器编排,就是可以使你像使用一太机器一样来使 ...
- Centos7的安装、Docker1.12.3的安装,以及Docker Swarm集群的简单实例
目录 [TOC] 1.环境准备 本文中的案例会有四台机器,他们的Host和IP地址如下 c1 -> 10.0.0.31 c2 -> 10.0.0.32 c3 -> 10.0.0. ...
- 从零开始搭建Docker Swarm集群
从零开始搭建Docker Swarm集群 检查节点Docker配置 1. 打开Docker配置文件(示例是centos 7)vim /etc/sysconfig/docker2. 添加-H tcp:/ ...
- docker + swarm 集群
docker + swarm 集群 导读 Swarm是Docker公司在2014年12月初新发布的容器管理工具.和Swarm一起发布的Docker管理工具还有Machine以及Compose.Swar ...
- Docker Swarm集群
Docker Swarm集群 IP 10.6.17.11 管理节点 IP 10.6.17.12 节点A IP 10.6.17.13 节点B IP 10.6.17.14 节点C 安装 Sw ...
- 故障公告:docker swarm集群“群龙无首”引发部分站点无法访问
今天傍晚 17:38-18:18 左右,由于 docker swarm 集群出现 "The swarm does not have a leader" 问题,造成博问.闪存.园子. ...
- 云计算之路-阿里云上-容器难容:自建docker swarm集群遭遇无法解决的问题
我们从今年6月开始在生产环境进行 docker 容器化部署,将已经迁移至 ASP.NET Core 的站点部署到 docker swarm 集群上.开始我们选用的阿里云容器服务,但是在使用过程中我们遭 ...
- 云计算之路-阿里云上:docker swarm 集群故障与异常
在上次遭遇 docker swarm 集群故障后,我们将 docker 由 17.10.0-ce 升级为最新稳定版 docker 17.12.0-ce . 前天晚上22:00之后集群中的2个节点突然出 ...
- 云计算之路-阿里云上:节点 CPU 波动引发 docker swarm 集群故障
非常抱歉,今天 10:05-10:20 左右,我们用阿里云服务器搭建的 docker swarm 集群又出现故障,又是因为突然的节点 CPU 波动. 受这次故障影响的站点有 闪存,博问,班级,园子,短 ...
- 云计算之路-阿里云上:部分服务器未及时续费造成docker swarm集群故障
非常非常抱歉,由于我们的疏忽 —— docker swarm 集群中的 2 台服务器没有及时续费,造成在夜里0点被自动关机,从而引发整个 docker swarm 集群故障,造成今天凌晨 0:30 ~ ...
随机推荐
- 基于Hive的大数据分析系统
1.概述 在构建大数据分析系统的过程中,我们面对着海量.多源的数据挑战,如何有效地解决这些零散数据的分析问题一直是大数据领域研究的核心关注点.大数据分析处理平台作为应对这一挑战的利器,致力于整合当前主 ...
- Jmeter函数助手19-machineName
machineName函数用于获取当前计算机的用户名. 存储结果的变量名(可选)
- 【WSDL】WebService描述语言的实践
问题的产生: 上班写了一个改接口的需求,其中涉及了一个WSDL这么一个概念 WSDL是个啥???? 翻了翻项目,里面就是个文件,以wsdl为后缀名 内容结构和XML相似,或者直接说是XML文件也可以 ...
- Ax = b 的迭代解法 —— 共轭梯度 (算法步骤)
线性方程组 Ax =b 除了高斯消元法以外,还有其它的迭代解法,这里我们说的是共轭梯度法. 这里只针对 A 满足 对称 ( ), 正定(即 ),并且是实系数的,那么我们可以用 梯度下降 和 共轭梯 ...
- Linux环境下配置vscode的C/C++ 的make编译环境(编写makefile方式)
主要前提内容参照前文: Linux环境下配置vscode的C/C++编译环境 =========================================================== 代 ...
- Spring Boot Admin对Springboot服务进行监控
1.背景 大纲 Spring Boot Admin 是一个管理和监控Spring Boot 应用程序的开源软件.每个应用都认为是一个客户端,通过HTTP或者使用 Eureka注册到admin serv ...
- 痞子衡嵌入式:探析i.MXRT1050在GPIO上增加RC延时电路后导致边沿中断误触发问题(上篇)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT1050在GPIO上增加RC延时电路后导致边沿中断误触发问题探析. 前段时间有一个 RT1052 客户反馈了一个有趣的问题, ...
- 【线段树合并/树上差分】[P4556 [Vani有约会] 雨天的尾巴 /【模板】线段树合并
[线段树合并/树上差分]P4556 [Vani有约会] 雨天的尾巴 /[模板]线段树合并 思路 对 \(x,y,lca(u,v),fa_{lca(u,v)}\) 四个点进行树上差分,然后用线段树合并动 ...
- [KEYENCE Programming Contest 2023 Autumn(AtCoder Beginner Contest 325) E
KEYENCE Programming Contest 2023 Autumn(AtCoder Beginner Contest 325) - AtCoder E E - Our clients, p ...
- 【牛客刷题】HJ8 合并表记录
题目链接 这题最开始的想法就是用一个map来解决问题: func main() { num := 0 fmt.Scan(&num) a := 0 b := 0 m := make(map[in ...