专栏首页性能与架构Docker容器如何共享数据

Docker容器如何共享数据

容器与外部的数据共享是通过数据卷实现的

数据卷概念

是容器与外部在文件系统上的通道,可以和主机的文件系统建立联系,也可以和其他容器建立文件级的联系

容器把希望对外的数据写入自己的数据卷,其他容器就可以加载这个数据卷,操作其中的数据了

数据卷可以指定目录和文件,但实际操作中经常使用目录,所以数据卷可以大概理解为一个挂载目录,可以和挂载主机目录,也可以被其他容器挂载,这样就实现了容器和主机之间、容器和容器之间的数据共享问题

数据共享两种形式

(1)挂载一个主机目录作为数据卷

挂载一个本地已有目录到容器中作为数据卷

$ sudo docker run -d -P --name web -v /src/webapp:/opt/webapp training/webapp

-v 指定创建一个数据卷

/src/webapp:/opt/webapp    冒号前是主机目录,冒号后是容器内目录

(2)容器间共享数据卷

容器A创建了数据卷

$ sudo docker run -it -v /dbdata --name dbdata ubuntu

容器B引用容器A的数据卷

使用参数 --volumes-from 来挂载dbdata容器中的数据卷

$ sudo docker run -it --volumes-from dbdata --name db1 ubuntu

任何一方在该目录下的写入,其他容器都可以看到

可以多次使用--volumes-from参数来从多个容器挂载多个数据卷。还可以从其他已经挂载了容器卷的容器来挂载数据卷

$ sudo docker run -d --name db2 --volumes-from db1 ubuntu

本文分享自微信公众号 - 性能与架构(yogoup)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-06-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 轻量级容器Docker初识

    image.png 什么是容器 容器是一种虚拟化的方案,是操作系统级别的虚拟化,所以只能运行与相同内核的操作系统 容器和虚拟机有什么区别 (1)虚拟机是基于主机...

    dys
  • Uber 的 Docker Mysql 应用

    背景介绍 Uber的MySQL集群规模很大,超过1000个集群,共有4000多个数据库服务器。 问题 起初是使用Puppet管理,写了很多脚本,再加上一些人工操...

    dys
  • 为什么应该使用 Kubernetes(k8s)

    Kubernetes (Kube 或 K8s)越来越流行,他是市场上最好的容器编排工具之一。

    dys
  • 容器只是一个起点

    容器,Docker,Kubernetes已经出现有四年了。以致于有些人甚至认为这项技术是成熟的!但是,我强烈认为,容器基础设施的构造任然处于成长阶段。

    Techeek
  • 八种最常见Docker开发模式 别说你还不知道

    Docker已迅速成为本人最喜欢的基础工具之一,以便构建可重复软件产品,从而带来尽可能静态的服务器环境。   我在本文中将概述我在使用Docker的过程中开始...

    静一
  • Docker之快速搞定容器数据卷

      前面我们介绍了镜像和容器,通过镜像我们可以启动多个容器,但是我们发现当我们的容器停止获取删除后,我们在容器中的应用的一些数据也丢失了,这时为了解决容器的数据...

    用户4919348
  • 逐条讲解:云计算中的容器技术

    在如今,在讨论云时是很难不提及容器技术的。无论你是刚刚入门的技术新人或者经验丰富的专业人士,一定都应当知道这些与云中容器技术相关的重要术语。 随着云计算中容器技...

    静一
  • 容器生态系统

    CloudDeveloper
  • 了解云容器的四方面

    对容器的大量需求使企业推出了各种云容器服务。而市场上这么多的选择,很难决定去使用哪一个容器平台或工具。在你了解云容器技术的选择之前,你必须先确定容器是否值得您的...

    企鹅号小编
  • 谈DevOps中的容器安全

    【编者按】对比虚拟机,Docker在体量等方面拥有显著的优势。然而,当DevOps享受Docker带来扩展性、资源利用率和弹性提升的同时,其所面临的安全隐患同样...

    CSDN技术头条

扫码关注云+社区

领取腾讯云代金券