什么是Docker容器数据卷,该如何使用它

目录

前言

知识点

什么是容器数据卷

为何使用容器卷

容器卷有哪些特点

卷的操作

创建数据卷

删除数据卷

使用 docker 安装 mysql

总结 


前言

前几篇已经详细介绍好容器的三个核心概念镜像、容器和仓库。容器更擅长无状态应用,如果我们想要数据的持久化,为了能保存数据在Docker中,就可以使用卷!让数据挂载到我们本地!这样数据就不会因为容器删除。

知识点

什么是容器数据卷

卷的本质是文件或者目录,存在一个或者多个容器中,由docker挂载到容器,但不属于联合文件系统。卷的概念不仅解决了数据持久化的问题,还解决了容器间共享数据的问题。

为何使用容器卷

(1)数据的持久化,当容器重启后保证数据不丢失,例如我们可以使用卷将 MySQL 的目录持久化,实现容器重启数据库数据将不会丢失。

(2)如果将数据存储于镜像中,主机上的其他进程不方便访问这些数据。

容器卷有哪些特点

(1)数据卷可在容器之间共享或重用数据

(2)数据卷中的更改不会包含在镜像的更新中

(3)卷中的更改可以直接生效

(4)数据卷的生命周期一直持续到没有容器使用它为止

卷的操作

创建数据卷

数据卷创建命令

docker volume create myvolume

小贴士:默认情况下 ,Docker 创建的数据卷为 local 模式,仅能提供本主机的容器访问。

使用 -v 命令

docker run -it -v 宿主机绝对路径目录:容器内目录 镜像名

小提示:使用 -v 的方式指定容器内需要被持久化的路径,Docker 会自动为我们创建卷,并且绑定到容器中。

测试:

docker run -it -v /home/ceshi:/home centos /bin/bash

查看数据卷是否挂载成功:

docker inspect 容器id 

 

 测试容器和宿主机之间数据共享:可以发现,在容器中,创建的会在宿主机中看到!

 ​​​​​

 小贴士:容器停止退出后,主机修改数据也会同步到容器中!

删除数据卷

删除数据卷的命令

docker volume rm myvolume

小提示:容器的删除并不会自动删除已经创建的数据卷,因此不再使用的数据卷需要我们手动删除。 

使用 docker 安装 mysql

 (1)拉取镜像

docker pull mysql:5.7

 (2)启动容器

 docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql1 mysql:5.7

小提示: 使用本地的Navicat连接测试一下。

 (3)查看本地的 /home/mysql 目录

 (4)删除mysql容器

docker rm -f mysql1

小提示:删除后,还是可以看到我们刚刚建立的mysql数据库在本地存储着 。

总结 

到此,相信你对 Docker 容器卷做持久化存储有一定的了解,也了解 Docker 卷的常用操作,并且对卷的实现原理也有了较清晰的认识。

如果本篇博客对您有一定的帮助,大家记得留言+点赞+收藏哦。欢迎关注,一起docker学习之旅!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值