Docker入门级学习(六):Docker数据卷

本文介绍了Docker数据卷的概念,强调了其作为数据持久化和共享的关键特性。通过实战示例展示了如何使用命令挂载数据卷,包括匿名和具名挂载,并探讨了Dockerfile中挂载数据卷的方法。此外,还讲解了通过`--volumes-from`实现多个容器间的数据同步。
摘要由CSDN通过智能技术生成

来自b站up主:遇见狂神说 --docker最新超详细版教程通俗易懂https://www.bilibili.com/video/BV1og4y1q7M4?p=2


一、什么是数据卷

1.如果数据都在容器中,那么删除一个容器,数据就会丢失,要实现容器之间有一个数据共享技术,docker产生的数据同步到本地,就是卷技术。
2.卷就是目录或文件,存在于一个或多个容器中,由Docker挂载到容器,但卷不属于联合文件系统(Union FileSystem),因此能够绕过联合文件系统提供一些用于持续存储或共享数据的特性:。

3.卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。
4.数据卷的特点:

  • 数据卷可在容器之间共享或重用数据
  • 卷中的更改可以直接生效
  • 数据卷中的更改不会包含在镜像的更新中
  • 数据卷的生命周期一直持续到没有容器使用它为止

二、使用数据卷

1.使用命令挂载

docker run -it -v 主机目录,容器内目录
将主机目录/home/test和容器/home建立数据卷,首先在容器目录下创建test.java文件,再去主机目录下查看是否有该文件

使用inspect查看容器详情,可以查看到容器具体的卷是怎么挂载的,bind是一个双向绑定的关系,容器内外的数据都会自动同步

docker inspect 容器id

在这里插入图片描述

实战:同步mysql数据

启动mysql时,要设置密码,具体可以看官方文档

docker pull mysql:5.7
docker run -d -p 6603:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值