Docker自学纪实(三)Docker容器数据持久化
谈起数据卷
我一直觉得是个枯燥无聊的话题
但是通过今天的实操和阅读
我发现其实并不是
其实就像走夜路
没有光明,第一次都是恐惧
但是如果走的次数多了
或者静下心来去克制恐惧
也许就会驾轻就熟或者等到黎明
拼一下,开始吧!!!
我就举两个例子,如果实操一遍,立马就明白了。
- 数据卷
原理:将宿主机目录挂载到容器目录,原理和普通的挂载差不多。
数据卷的特点:
- 在容器启动初始化时,同步容器在宿主机的挂载点中的数据。
- 数据卷可以在容器内直接共享和重用。
- 可以直接修改容器在宿主机挂载点里面的数据内容。
- 数据卷的变化不会影响镜像的更新。
- 即使删除容器,该数据卷不受影响。
- 容器数据卷
原理:将一个运行的容器作为数据卷,其他容器可以通过挂载这个容器实现数据共享。
容器数据卷的特点:具备容器的便捷性,可移动性。
- 查看容器挂载点目录:
docker inspect 容器ID/容器名
找到mounts段:

注:Source:是宿主机目录、Destination:是容器目录
下面两个例子,跟着做一遍呗。
数据卷
例:使用httpd镜像创建一个容器名为WEB1,将宿主机的/www目录挂载到WEB01中的/blog目录,然后在宿主机的/www目录下创建一个index.php,查看容器中的/blog目录中是否存在index.php文件。
[root ~]# docker run -itd --name WEB01 -v /www:/blog httpd # -v 将宿主机的/www目录挂载到WEB01中的/blog目录
[root ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f8911ae76a6e httpd "httpd-foreground" seconds ago Up seconds /tcp WEB01
[root ~]# cd /www
[root www~]# ls
[root www~]# touch index.php
[root www~]# docker exec WEB01 ls /blog
index.php
容器数据卷
例:使用httpd镜像创建一个容器数据卷,容器名为dvdata。使用centos镜像创建一个容器并挂载dvdata,在dvdata容器里面创建一个a.txt文件,查看容器centos的/home目录下是否有a.txt文件。
[root ~]# docekr run -itd -v /home --name dvdata httpd #创建容器数据卷,名为dvdata,容器数据卷共享目录为/home。也就是说,其他容器挂载dvdata容器时其实挂载的是dvdata容器里的/home文件夹。
[root ~]# docker run -itd --name centos --volumes-from dvdata centos #创建centos容器,--volumes-from参数为指定容器数据卷。
[root ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
65d032a73313 centos "/bin/bash" seconds ago Up second centos
fe3dd37b258d httpd "httpd-foreground" minutes ago Up minutes /tcp dvdata
[root ~]# docker exec centos ls /home
[root ~]#
[root ~]# docker exec dvdata touch /home/a.txt #在容器数据卷中的/data目录下创建a.txt文件
[root ~]# docker exec centos ls /home
[root ~]# a.txt
现在觉得docker挺有意思,只要认真看文章,动手操作一下,好多云里雾里的问题都烟消云散了。希望对你们的学习有帮助,加油!!!
Docker自学纪实(三)Docker容器数据持久化的更多相关文章
- Docker 容器数据 持久化(系统学习Docker05)
写在前面 本来是可以将数据存储在 容器内部 的.但是存在容器内部,一旦容器被删除掉或者容器毁坏(我亲身经历的痛,当时我们的大数据平台就是运行在docker容器内,有次停电后,不管怎样容器都起不来.以前 ...
- Docker深入浅出系列 | 容器数据持久化
Docker深入浅出系列 | 容器数据持久化 Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会 ...
- docker 系列 - 容器数据持久化和数据共享
docker 主要有两种数据存储形式, 一种是storage driver(也叫做 Graph driver), 另一种是 volume driver. stroage driver主要是存储那些无状 ...
- docker容器数据持久化
将数据从宿主机挂载到容器中的三种方式 1.Volume 2.Bind Mounts 3.tmpfs Volumes:docker管理宿主机文件系统的一部分(/var/lib/docker/volume ...
- docker之容器数据持久化
1.挂载本地目录为容器的数据存放目录 [root@node03 ~]# docker run -itd --name web01 -v /container_data/web:/data ubuntu ...
- 4.云原生之Docker容器数据持久化介绍与实践
转载自:https://www.bilibili.com/read/cv15182308/?from=readlist #### 创建一个web容器并创建一个数据卷挂载到容器的/webapp目录下(默 ...
- Docker: docker container常用命令实战(2)-数据持久化
应用服务是在容器中运行的,容器随时会被删除,如果是个mysql容器呢?数据存储在容器里,容器删除了,数据也没了,那就是个噩梦. 所以一些数据是需要存储在容器之外的,可以是宿主机,可以是网络存储位置上, ...
- Docker小白到实战之容器数据卷,整理的明明白白
前言 上一篇把常用命令演示了一遍,其中也提到容器的隔离性,默认情况下,容器内应用产生的数据都是由容器本身独有,如果容器被删除,对应的数据文件就会跟着消失.从隔离性的角度来看,数据就应该和容器共存亡:但 ...
- Docker系列(16)- 容器数据卷
什么是容器数据卷 docker的理念回顾 将应用和环境打包成一个镜像 数据?如果数据都在容器中,那么我们容器删除,数据就会丢失!新增一个需求:数据可以持久化 MySQL,容器删了等于删库跑路!新增一个 ...
随机推荐
- 初识contiki(2.7版本)
一个偶然的机会,我接触到了contiki这个家伙. Contiki 是一个开源的.高度可移植的.采用 C 语言开发的非常小型的嵌入式操作系统,针对小内存微控制器设计,适用于联网嵌入式系统和无线传感器网 ...
- 我的2015plan
工作(熟悉业务流程,知道来龙去脉,提出改进优化,争取p6) 技术(读1个开源代码.多线程.网络编程) 技术类书籍(c++.python得深入) 读书(历史.经济.传记类) 状态(融入.投入.高效.平衡 ...
- 2019.3.26判断是否回文(java实现)
我所有的文章都是对我总结学习的总结,那里不好或者冒犯了那里,我先对您说声对不起,请告知我进行改正. 今天java老师作业题目是判断是一个字符串否是回文: emmmm,我的思路是将字符串逆序,然后使用方 ...
- 关于UnitOfWork
按照http://martinfowler.com/eaaCatalog/unitOfWork.html这篇文章的介绍,UnitOfWork是为了维护对象的变化,A Unit of Work keep ...
- web项目无法被Eclipse的Tomcat识别的解决办法
Eclipse 导入外部项目无法识别为web项目并且无法在部署到tomcat下 1.进入项目目录,找到 .project 文件: 2.找到 <natures> 代码段,在里面加入如下标签内 ...
- html+css杂记
overflow可设置超出后隐藏 子元素撑开父级元素:①父级元素宽度不固定,②父级元素设置为inline-block或者添加float: html中的中文在浏览器打开为乱码(已经写了<meta ...
- js中各种距离clientWidth
1: offsetLeft.offsetTop.offsetHeight.offsetWidth 1.1 偏移参照——定位父级offsetParent offsetParent的定义是:与当前元素 ...
- Windows 系统System帐号及权限
今天碰到一同事,在那里删除注册表,死活都删除不掉,想起以前在学校的时候老是被莫名的被别人叫过去修电脑(开玩笑,真觉得那时候的我比现在牛B很多),什么删除不掉的东西没见过,然后小小的百度了一下很快就帮他 ...
- C4C销售订单行项目价格维护方法
需求很简单,能够创建销售订单,在行项目里添加产品,带出价格来,同时把总价显示在销售订单抬头区域. 如下图所示: 下面是具体配置. Business Configuration里,点击Sales Ord ...
- CRUD全栈式编程架构之界面层的设计
Layout的设计 模板模式 mvc的模板特别类似设计模式中模板方法模式,结合Layout中RenderSection和RenderBody方法可以将部分html展现逻辑延迟到具体的视图页面去实现里面 ...