原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:『中级篇』docker的数据持久化存储和数据共享(32)
从这次开始docker的数据持久化存储和数据共享。
回忆下image 和 container的区别
- image 不能写入数据,container可以写数据
container可以写入数据,执行操作,但是数据只限本个container。
场景问题
如果我创建一个mysql的container,这个mysql运行了一年了,里面有很多的数据,在误操作的情况container ,结果一年的数据也就没有了,这是无法接受的。数据为王的年代,数据丢失了很恐怖的。
- docker引入了持久化的机制Data Volume
图中的程序往两个地方,1. 往对应的layer存储,2.通过外挂载存储的方式
docker持久化数据的方案
- 基于本地文件系统的Volume。可以在执行Docker create 或Docker run时,通过-v参数将主机的目录作为容器的数据卷,基本都是用这种方式。
- 基于plugin的Volume,支持第三方的存储方案,比如NAS,aws
Volume的类型
- 收管理的data Volume,由docker后台自动创建,位置是固定,名字是随机的
- 绑定挂载的Volume,具体挂载位置可以由用户指定。
PS:源码https://github.com/limingios/docker No.3 方便学习数据持久化存储
往期精彩
- docker导学(一)
- 容器的技术概述(二)
- docker的魅力初体验-5分钟安装wordpress不走弯路(三)
- docker官网介绍(四)
- 如何在mac上安装docker(五)
- 如何在window上安装docker(六)
- 如何在mac上通过vagrant安装虚拟机(七)
- 如何在window上通过vagrant安装虚拟机(八)
- docker-Machine的本地使用(九)
- docker-Machine的本地使用(十)
- 在linux/mac下通过Docker-Machine在阿里云上的使用(11)
- docker架构和底层技术(12)
- docker Image概述(13)
- 手动建立一个base Image(14)
- 什么是Container(15)
- 构建自己的Docker镜像(16)
- Dockerfile详解(17)
- 镜像的发布(18)
- Dockerfile实战(19)
- 容器的操作(20)
- Dockerfile实战CMD和ENTRTYPOINT的配合(21)
- 容器的资源限制(22)
- docker网络(23)
- docker学习必会网络基础(24)
- Linux网络命名空间(25)
- Docker Bridge详解(26)
- 容器之间的Link(27)
- 容器的端口映射(28)
- 容器网络之host和none(29)
- 多容器复杂应用的部署(30)
overlay网络和etcd实现多机的容器通信(31)