存储介绍
1. 存储使用
2. 实际使用的问题
- 实际使用中,我们要创建多副本的服务,你在单个节点上创建的bind的目录是不能共享的,增加副本数,在其他机器上部署的时候如果没有相应的bin的目录就会挂载失败。这感觉swarm再service级别的概念引入,没有处理好挂载volume的问题。如下在2节点管理节点下发的任务,在20节点上是报错的,差了半天才知道是挂载volume在20节点上不存在。(这里是bind本地目录的问题)
- 参考:--mount 和 --volume 有一些差异需要注意:
--mount 可以直接使用卷,而无需事先使用 docker volume create 来创建卷,并且可以多组不同驱动的卷;
--mount 如果 type=bind 的话,宿主必须存在指定目录,否则报错。而 --volume 则在宿主不存在该路径时,在宿主创建一个空目录来进行绑定。
- 这里可以知道bind的话必须存在对应的目录,mount的话会自动创建卷
- 参考同样的问题和思考:Swarm 如何存储数据?
- 存储解决方案:参考:如何安装和配置 Rex-Ray
3. 存储解决方法
3.1 存储插件vieux/sshfs
- vieux/sshfs插件是一个存储插件:sshFS plugin for Docker,就是通过ssh登陆的方式在远程机器上创建volume。
$ docker plugin install --grant-all-permissions vieux/sshfs
Swarm系列7--存储介绍
原文:https://www.cnblogs.com/drawnkid/p/8796973.html