S4:数据共享(Docker Volume)

S4:数据共享(Docker Volume),第1张

声明:所有的实验示例大部分来自《learn-docker-in-a-month-of-lunches》的作者Elton Stoneman,但运行结腊祥果并不都是照搬,大部分实验结果可能唯轮与原书不同

到目前为止,你应该已经在容器上发现了这么一个特点:你每次运行一个新的容器,容器的内的任何文件都回归初始了,你乍一听会觉得这不是挺好的嘛,这样会保证每一个新运行的容器不轮山搏论在何时不论在何地都从同一个状态开始运行。但你有没有想过这么一种情况,你的容器存储了一些重要信息在容器内的文件系统里,但是这时因为软件升级,你的镜像也更新了,你必须以新的镜像去运行新的容器,也就是说你得关停老的容器,那么这些重要数据岂不是丢失了?

不必担心,强大的Docker早就想到了这一点,它们给出了Docker Volumn和Docker Bind两种文件共享方式,以适应你数据持久化的需求。

不过在此之前,我们先来讨论一下Docker容器的文件系统结构。

Docker会将所有的文件系统源合并在一起呈现给Docker容器,而Docker容器能看到只是一个普普通通的块存储设备,Docker称这样的系统为union filesystem,下图是union filesystem的一个基本组成结构:

参考文档:

[1] learn-docker-in-a-month-of-lunches

[2] 官方文档

附:

[1] Elton Stoneman的github项目

1.用-v挂载主机数据卷到容器内 [plain] view plaincopy docker run -v /path/to/hostdir:/mnt $container 在容轮颂器内拷贝 cp /mnt/sourcefile /path/冲举to/destfile 2.直接在主机上拷贝到容器物理存储系统 A. 获散桐碧取容器名称或者id : [plain] view plai...

首先前亏,安装 rpcbind 和 nfs-utils

然后,编辑 /etc/exports 配置 NFS 共享目录,慧歼神示例:

启动 rpcbind 和 nfs

查看共享的目录

修改配置文件后,重新加载配置文件

add-bind-mounts-volumes-or-memory-filesystems

create-nfs-volume

注意读写分离,避改蔽免多写导致未知的错误

1、NFS4 创建数据卷


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12137772.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存