Docker Swarm bind 数据持久化

Posted xiangsikai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker Swarm bind 数据持久化相关的知识,希望对你有一定的参考价值。

Docker Swarm bind 数据持久化

  • bind:主要将工作节点宿主级文件或目录,同步挂载到容器中。

环境:

  • 系统:Centos 7.4 x64
  • 应用版本:Docker 18.09.0
  • 管理节点:192.168.1.79
  • 工作节点:192.168.1.78
  • 工作节点:192.168.1.77

一、两种宿主级挂载方式

管理节点:读写挂载

docker service create --mount type=bind,src=<HOST-PATH>,dst=<CONTAINER-PATH> --name myservice <IMAGE>

管理节点:只读挂载

docker service create --mount type=bind,src=<HOST-PATH>,dst=<CONTAINER-PATH>,readonly --name myservice <IMAGE>

二、创建bind 数据持久化

1、管理节点:创建服务并添加bind读写挂载

docker service create --mount type=bind,src=/etc,dst=/data --name test01 busybox ping www.baidu.com
技术分享图片
# 创建服务
docker service create # 创建数据卷 type=bind,src=宿主目录,dst=容器目录
--mount type=bind,src=/etc,dst=/data # 服务名
--name test01 # 镜像
busybox
# 容器内执行指令
ping www.baidu.com
命令解析
技术分享图片
docker service inspect test02
 "Mounts": [
                        {
                            "Type": "bind",
                            "Source": "/etc",
                            "Target": "/data"
                        }
                    ]
查看服务详细信息,截取挂载节点详细信息

2、工作节点:进入容器测试挂载目录

# 进入容器
docker exec -it e4d7e2d88cab sh
# 测试目录与/etc一致
/ # cd /data
/data # ls
....

 

以上是关于Docker Swarm bind 数据持久化的主要内容,如果未能解决你的问题,请参考以下文章

"三剑客”之Swarm应用数据持久化管理(volume bind nfs)

赵强老师Docker Swarm集群的数据持久化

验证 Swarm 数据持久性 - 每天5分钟玩转 Docker 容器技术(104)

验证 Swarm 数据持久性 - 每天5分钟玩转 Docker 容器技术(104)

Docker Swarm - NFS 共享数据卷

docker-swarm集群及NFS持久化存储方案