提升Docker效率的小操作——用volume实现容器和主机之间共享数据 [转载]

说在前面

Docker是一个非常强大的工具,它帮助企业扩大产品规模,并简化部署容器化应用程序的流程。对于Docker来说,创建一个容器实际上非常简单:您只需要拉取一个镜像,并将其部署成容器就可以了。但是这个容器该如何保存数据呢?换言之,您要如何处理这些数据呢?又或者说,您要如何在容器之间共享这些数据呢?

Docker 容器的机制是由一系列只读层构成,其最上层包含一个最终的读写层。这是一个非常复杂的系统——称为联合文件系统(UFS)

当您不需要保留数据时,该文件系统可以很好的完成该任务。但是,当您需要停止、重新部署一个容器并需要保留数据时,那该怎么办呢? 为了能够保存数据(或者在容器之间共享数据),您必须用到volumes 。Docker volume 是存在于主机文件系统上(在联合文件系统之外)的目录(或文件)。

您该如何创建和管理这些volumes ?接下来,跟着我找出答案吧!我将在Ubuntu Server 16.04平台上使用Docker的最新版本。不管您使用的是什么主机操作系统,使用volumes的流程都是相同的。

创建一个标准的volume

让我们创建一个名为“volume1”的volume 。这是通过如下命令完成的:

docker volume create --name volume1

如果我们输入“docker volume ls”的命令,那么我们刚刚创建的“volume1”将出现在图1的列表中。

(图1)我们刚刚创建的“volume1”准备就绪

您可以通过输入“docker volume inspect volume1”的命令来获取更多关于“volume1”的详细信息。该命令的输出结果(图2)将显示“volume1”的名称、选项、挂载点等相关信息。

(图2)关于“volume1”的细节

然而,并不是所有标准的volume都是有用的。接下来,让我们创建一个可以让Docker 容器变得更加灵活的volume吧。

创建一个主机数据volume

现在,我们要做的就是部署一个新的容器(基于最新的Ubuntu镜像),这个容器包含一个附着在主机目录上的volume。这意味着您可以在该容器内工作并将数据保存到容器目录中,同时这些容器目录中的数据将与主机目录同步。您必须做的第一件事就是确保创建了主机目录。我们将使用如下命令来创建一个名为“container-data”的目录:

mkdir ~/container-data

确保在Docker用户可以访问的位置来创建上述目录。实际上,您可以在系统的任何位置创建该目录(只要用户具有读写权限)。使用该目录,部署容器的命令(将主机目录附着到容器volume,它位于容器内的/ data目录下)将是:

docker run -d -P --name test-container -v /home/jack/container-data:/data ubuntu

现在,您应该可以看到容器ID了,记下前四个字符,我们来测试一下。在shell界面,对正在运行的容器使用如下命令:

docker attach ID(其中ID是运行容器的前四个字符)

其中ID是运行容器的前四个字符。

现在,您的光标应该出现在bash提示符处。如果您输入“ls /”的命令,您应该能看到那个我们在容器运行时添加的数据目录。接下来,我们创建一个带有“touch / data / test”命令的测试文件。然后,回到主机的终端,并输入“ls ~/ container-data”的命令。您应该可以看到列出的测试文件。现在,再从同一终端输入“touch ~/ container-data / test2”的命令。最后,返回到我们的容器shell界面并输入“ls / data”命令,这时应该会同时出现test和test2两个文件。这时,您运行的容器正在共享主机文件上的数据。

您可以根据需要将尽可能多的容器附加到该主机目录上,每个容器(以及主机)都可以访问相同的数据。正如Larry David 所说:“这真的是非常、非常、非常的方便”。

让Docker变得更加有用

利用Volumes是一个使Docker容器变得更加有用的好方法。Volumes 可以帮助您备份数据,在容器之间共享数据,甚至可以在容器和主机之间共享数据。

时间: 2024-09-20 08:56:37

提升Docker效率的小操作——用volume实现容器和主机之间共享数据 [转载]的相关文章

如何共享数据?- 每天5分钟玩转 Docker 容器技术(41)

数据共享是 volume 的关键特性,本节我们详细讨论通过 volume 如何在容器与 host 之间,容器与容器之间共享数据. 容器与 host 共享数据 我们有两种类型的 data volume,它们均可实现在容器与 host 之间共享数据,但方式有所区别. 对于 bind mount 是非常明确的:直接将要共享的目录 mount 到容器.具体请参考前面 httpd 的例子,不再赘述. docker managed volume 就要麻烦点.由于 volume 位于 host 中的目录,是在

用 volume container 共享数据 - 每天5分钟玩转 Docker 容器技术(42)

volume container 是专门为其他容器提供 volume 的容器.它提供的卷可以是 bind mount,也可以是 docker managed volume.下面我们创建一个 volume container: 我们将容器命名为 vc_data(vc 是 volume container 的缩写).注意这里执行的是 docker create 命令,这是因为 volume container 的作用只是提供数据,它本身不需要处于运行状态.容器 mount 了两个 volume: b

在Docker Toolbox和Boot2Docker中使用Volume Plugins

本文讲的是在Docker Toolbox和Boot2Docker中使用Volume Plugins,[编者的话]本文详细讲解了如何在你的笔记本上完成生产环境的搭建,对于存储有一个初步的介绍,非常适合自己动手,完成简单的集群环境搭建. 你曾经尝试过运行Docker Toolbox或者Volume Plugings吗?请跟着下面的步骤一步一步来. Docker Toolbox是一个能让你在电脑上拥有完整Docker运行环境的小的工具集合.对于Docker 1.9来说,通过Toolbox来建立并运行一

利用Windows 7新功能提升工作效率

几经变迁,随着Windows 7正式版的发布,其功能.组件总算尘埃落定.其实,大多数用户是实用主义者,对一个新系统他们更关心使用该系统能否提升自己的工作效率.Windows 7新增的功能不少,哪些对于提升工作效率有帮助呢?本文将和大家谈谈几个Windows 7新功能,以及如何使用它们提升我们的工作效率. 1.凭据管理器--提升访问速度及快速迁移 在登录远程计算机或者访问站点时,我们通常要输入用户名和密码信息.这些重复性的操作会影响我们的工作效率和使用体验,其实对于本地用户来说我们完全可以将这些访

提高iOS开发效率的小技巧与思路_IOS

先用一张图展示学习iOS开发应该掌握的知识体系: 1.全图片作为背景的时候,可能遇到的问题.,滑回的时候,图片停留了一会才滑回去. 原因: 这种界面一般使用一般用imageView的第三种填充方式. 这种填充方式可以让图片不被压缩变形的前提下,尽可能去填充整个控件,但是设置这个枚举的填充方式的时候,记得按照下图这样设置,将超出控件范围的给切割掉 设置约束的时候,记得选择currentview的那个对象 2.设备适配的问题 还是上面这张图片,按照设计在6p上面来设置自动约束,约好后,在5s上面的时

刀塔传奇如何提升游戏效率?老玩家带带你

[导读]:刀塔传奇竞游戏效率攻略分享,今天就由去秀小编给大家带来<刀塔传奇>老玩家提升游戏效率心得分享,希望大家可以喜欢. 传送门:军团指挥详细分析|女法神速推阵容|魂石翻倍活动公告 很多人因为花费时间太多弃坑,像我们公会的雪妹子.三妹子,把号丢给我们,但会玩的一天1-2个小时也可以做完一天该做的事了,甚至更少时间. 一.上游戏第一步完成觉醒碎片任务副本or第二关任务(注意女武神367诅咒147山谷257带上觉醒英雄手动刷,手贱扫荡过的举手)经验之谈 二.藏宝地穴请大家学会用烧饼加速,我用10

联邦快递在亚太十国家开展节能驾驶项目提升燃油效率

[本报北京讯]http://www.aliyun.com/zixun/aggregation/31488.html">联邦快递最近在亚太区10个国家和地区开展节能驾驶项目,其中包括澳大利亚.中国.日本.韩国.马来西亚.新西兰.新加坡与泰国.该节能驾驶项目通过改变联邦快递驾驶员的日常驾驶习惯来提升燃油效率. 节能驾驶项目自日本发起,通过课堂教学与实际练习,培训联邦快递驾驶员以更加环保的方式进行驾驶操作. 联邦快递亚太区总裁简力行表示:"节能驾驶只是我们在亚太地区对环境可持续发展和社

提升工作效率之SEO人员必备的几款工具

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 做seo工作效率很重要,一天能干多少的事,决定了你网站的收益有多大,当然这是在一个同等的前提下,经常发现查询下网站情况,观察下关键词排名,一上午就这样过去了;提升工作效率是每一位SEOER梦寐以求的想法,除了对于基本知识概念的了解,还得利用工具的辅助,下面谈谈seo人员必备的几款工具(纯粹是自己的分享): 一.伪原创工具-百度翻译 内容是让每

内外资快递大佬相继推出提升配送效率新模式

内外资快递大佬相继推出针对提升配送效率的新模式.日前,中外运敦豪在北京.上海.深圳中心商业区推出移动作业车模式,通过流程前置缓解大城市市区和商业密集区的物流难题.据介绍,移动作业车通过3G无线接入网络,车内配备了先进的影像上传.称重.运单和标签打印等设备,平均每票快件可以在15秒内完成基本出口操作.快件收取操作后,即可直接送至口岸进行出口申报,免除了返回服务中心的常规转运环节. 目前,中外运敦豪在北京.上海.深圳三个城市部署了8辆移动作业车,为相关地区的客户最晚推迟取件时间60分钟,不少消费者可