数据共享是 volume 的关键特性,本节我们详细讨论通过 volume 如何在容器与 host 之间,容器与容器之间共享数据。

容器与 host 共享数据

我们有两种类型的 data volume,它们均可实现在容器与 host 之间共享数据,但方式有所区别。

对于 bind mount 是非常明确的:直接将要共享的目录 mount 到容器。具体请参考前面 httpd 的例子,不再赘述。

docker managed volume 就要麻烦点。由于 volume 位于 host 中的目录,是在容器启动时才生成,所以需要将共享数据拷贝到 volume 中。请看下面的例子:

docker cp 可以在容器和 host 之间拷贝数据,当然我们也可以直接通过 Linux 的 cp 命令复制到 /var/lib/docker/volumes/xxx。

容器之间共享数据

第一种方法是将共享数据放在 bind mount 中,然后将其 mount 到多个容器。还是以 httpd 为例,不过这次的场景复杂些,我们要创建由三个 httpd 容器组成的 web server 集群,它们使用相同的 html 文件,操作如下:

1.将 $HOME/htdocs mount 到三个 httpd 容器。

2.修改 volume 中的主页文件,再次查看并确认所有容器都使用了新的主页。

另一种在容器之间共享数据的方式是使用 volume container,下节讨论。

转载于:https://www.cnblogs.com/mkxfs/p/10960650.html

39-如何共享数据?相关推荐

  1. Part5 数据的共享与保护 5.4类的友元5.5共享数据的保护

    友元是C++提供的一种破坏数据封装和数据隐藏的机制. 通过将一个模块声明为另一个模块的友元,一个模块能够引用到另一个模块中本是被隐藏的信息. 可以使用友元函数和友元类. 为了确保数据的完整性,及数据封 ...

  2. 使用内存映射文件在进程之间共享数据

    数据共享方法是通过让两个或多个进程映射同一个文件映射对象的视图来实现的,这意味着它们将共享物理存储器的同一个页面.因此,当一个进程将数据写入一个共享文件映射对象的视图时,其他进程可以立即看到它们视图中 ...

  3. python跨文件全局变量_Python 进程之间共享数据(全局变量)的方法

    进程之间共享数据(数值型): import multiprocessing def func(num): num.value=10.78 #子进程改变数值的值,主进程跟着改变 if __name__= ...

  4. windows核心编程之进程间共享数据

    有时候我们会遇到window进程间共享数据的需求,例如说我想知道系统当前有多少某个进程的实例. 我们能够在程序中定义一个全局变量.初始化为0.每当程序启动后就加1.当然我们我们能够借助第三方介质来储存 ...

  5. .NET 并行(多核)编程系列之七 共享数据问题和解决概述

    .NET 并行(多核)编程系列之七 共享数据问题和解决概述 原文:.NET 并行(多核)编程系列之七 共享数据问题和解决概述 .NET 并行(多核)编程系列之七 共享数据问题和解决概述 前言:之前的文 ...

  6. 在AngularJS控制器之间共享数据

    本文翻译自:Share data between AngularJS controllers I'm trying to share data across controllers. 我正在尝试跨控制 ...

  7. 如何在进程间共享数据

    1.引言 在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯.WIN32 API提供了许多函数使我们能够方便高效的进行进程间的通讯,通过这些函数我们可以控制不同进程间的数据交换,就如同 ...

  8. VC 利用DLL共享区间在进程间共享数据及进程间广播消息

    在进程间共享数据有很多种方法,剪贴板,映射文件等都可以实现,这里介绍用 DLL 的共享区间在进程间共享数据,及共享数据有变化时及时的反馈给各相关进程. 一.在DLL中设置共享区间 在DLL中是用数据段 ...

  9. windows服务器连接linux nfs,windows设置通过NFS连接到Linux共享数据

    一.搭建NFS服务 1.NFS服务搭建环境说明 NFS服务端: IP:192.168.43.156 NFS客户端: IP:192.168.43.185 两台服务器都关闭防火墙及SElinux syst ...

  10. Python 进程之间共享数据(全局变量)

    Python 进程之间共享数据(全局变量) 进程之间共享数据(数值型): import multiprocessing def func(num): num.value=10.78 #子进程改变数值的 ...

最新文章

  1. ITK:创建高斯导数内核
  2. D:\我的文档\收藏夹
  3. C++基础知识(一) 键盘输入
  4. HTTP 权威指南 阅读笔记
  5. 2019秋 哈工大《概率论与数理统计》试题A及答案
  6. 《App违法违规收集使用个人信息自评估指南》
  7. 网上购物系统问题陈述、词汇表与领域类图
  8. 基于c#的IE 代理服务器设置
  9. ssh+dwr实现级联操作
  10. java calendar 时分秒_java 时间处理类Calendar获取年月日时分秒毫秒的方法实例
  11. 20 C++ 秒数转换时分秒
  12. MATLAB 自然数e的表达式坑、如何求解含有未知量的行列式
  13. 跨境电商属于外贸吗,Starday跨境电商靠谱吗?
  14. IC基础——FIFO
  15. 中国洗衣胶囊行业市场供需与战略研究报告
  16. Python-Snappy的安装 以及报错解决
  17. 190327-Matlab清除指定变量之外的所有变量
  18. 重磅分享:微软面试100题2010年版全部答案完整亮相
  19. AI算法工程师笔试经验分享 | 【是你等的那一篇推文吗?】
  20. MQ2和MQ7浓度测量

热门文章

  1. 合并的数组会有顺序么_咱就别按顺序刷题了,看看大佬怎么刷
  2. python中flush什么意思,Python的file.flush()到底在做什么?
  3. python网络爬虫程序_Python写的网络爬虫程序(很简单)
  4. c++编程求解二元二次方程组_一道俄罗斯高难度解方程组题,错误率达99%+,中国学霸:确实很难...
  5. python求数组的所有组合_使用numpy构建两个数组的所有组合的数组
  6. 数据窗口 label_Python实现数据可视化,让你的数据清晰起来!
  7. bootstrap树节点如何设置默认不展开_我开源了一个基于Vue的组织架构树组件
  8. linux串口输出重定向到文件,DOS 下将屏幕打印输出重定向到指定文件中(或重定向到并口/串口)...
  9. allure 测试报告本地打开_Allure自动化测试报告我是这样用的
  10. 2012.4.13总结(一)