Docker学习之:持久化存储和数据共享

这一章我们主要是为大家介绍一下持计划存储与数据共享技术与内容,之前我们讲过Image与container的关系,其中Image是只读的而container是可以写数据的。
当我们创建一个container我可以在这个container里面创建一些文件与数据,但是呢,我们在container创建的数据仅限于这个container,什么意思呢?比如说我们把一个容器停掉或者删除,那么这个数据 就都没有了。
但是我们想创建一个数据库的container,我们肯定要写很多的数据,如果我们那天不小心把容器删除掉了,里面的数据也没有这个是我们无法接受的。
所以container提供了一种持久化存储的方式
Docker持久化数据的方案

  • 基于本地文件系统的Volume.
    + 受管理的data Volume, 由docker后台自动创建
    + 绑定挂载的Volume, 具体挂载位置可以由用户指定
  • 基于plugin的volume比如NAS, aws
    我们这里主要是讲本地文件系统的Volume,这种方式就是在Docker create或者Docker run时, 通过-v参数将主机的目录作为容器的数据卷。
    好的小伙伴们,让我们进入数据的时代吧!!!!

新增:
这里给大家讲个问题,如果说你把数据挂载到本地的时候,如果你还想在重新启动一个mysql或者给容器换个名字,这个时候你一定要把data里面的数据清空再次执行,不然会出很多稀奇古怪的问题。比如说下面这条命令

docker run --name apple-mysql -v /Users/steven/fisher/data/apps/mysql/conf:/etc/mysql/conf.d -v /Users/steven/fisher/data/apps/mysql/data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=111111 mysql:latest
  • 做端口转发的时候,要把本地的mysql服务停掉
  • 如果你想新增一个更换container的名字 你一定要把/Users/steven/fisher/data/apps/mysql/data这个下面的数据清空,好的谢谢大家!!!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 隐性知识的反思 我们很多人都知道显性知识和隐性知识的概念,这个概念原本是迈克尔·波兰尼提出来的,他给我们的定义是;...
    时义轩阅读 6,049评论 0 49
  • “多少次迎着冷眼与嘲笑 从没有放弃过心中的理想一刹那恍惚 若有所失的感觉 不知不觉已变淡心里爱 原谅我这一生不羁放...
    一生如燕阅读 5,000评论 0 2
  • 醉梦里,看花 清歌温婉 忆旧事,伏叶 余音低绕 -----性情中人,最是伤情 楚宫俱泯灭舟人指点到今疑
    沐南一阅读 1,630评论 0 0
  • 今天儿子值日,回到家后喝了点水,吃了点东西,自己就去写作业了,没有催促,我觉得这就是进步。而且今天作业速度快了一些...
    爱生活的Rex阅读 1,225评论 0 0

友情链接更多精彩内容