什么是容器数据卷
docker的理念回顾
将应用和环境打包成一个镜像!
数据?如果数据都在容器中,那么我们容器删除,数据就会丢失!
- 需求:数据可以持久化!
Mysql的容器删除,就相当于删库跑路了。
- 需求:Mysql数据可以存储到本地!
容器之间可以有一个数据共享的技术!Docker容器中产生的数据,同步到本地!
这就是卷技术!目录的挂载,将我们容器内的目录,挂载到Linux上面!

总结一句话:容器的持久化和同步操作!/容器间也是可以数据共享的
使用数据卷
使用数据卷挂载的方式一:目录挂载
docker run -it -v 主机目录 : 容器内目录
# 测试
[root@iZ2ze3omirvragaujkhihjZ /]# docker run -it -v /home/ceshi:/home centos /bin/bash
这时候Linux目录的home下就会有ceshi文件夹

这时候centos容器内部的home目录下是空的
- (这时候已经和外面同步了,这里放的文件就会在Linux目录下的文件同步,同理外部放的文件会自动同步到容器内部)

启动起来之后,在Linux目录下输入`docker inspect 容器id`来查看一下挂载情况

## 测试从容器到外部的文件同步
# docker容器内部:
[root@d5de8710ac6a home]# ls
[root@d5de8710ac6a home]# touch testV.java
[root@d5de8710ac6a home]# ls
testV.java
# Linux下的同步目录内:
[root@iZ2ze3omirvragaujkhihjZ home]# ls
ceshi test.java
[root@iZ2ze3omirvragaujkhihjZ home]# cd ceshi/
[root@iZ2ze3omirvragaujkhihjZ ceshi]# ll
total 0
-rw-r--r-- 1 root root 0 Feb 9 16:49 testV.java

## 测试从外部到内部的文件修改同步
# 1. 停止容器
exit
# 2. 宿主机上修改文件
vim testV.java
# 3. 启动容器
docker start 容器id
docker attach 容器id
# 4. 容器内的数据依旧是同步的!
cat testV.java

好处:我们以后修改只需要在本地修改即可,容器内会自动同步!
使用数据卷挂载的方式二:volume(具名和匿名挂载)
在20讲到
本文介绍了Docker容器数据卷的概念和重要性,通过实例演示了如何使用数据卷进行容器内的数据持久化和外部同步,包括目录挂载和volume挂载两种方式。强调了数据卷在容器数据管理中的作用,确保了即使删除容器,数据也能被安全保存。
6230

被折叠的 条评论
为什么被折叠?



