1 引入
docker是将应用和环境打包成一个镜像!但是如果数据都放在容器中,**那么如果我们把容器删除,数据就会丢失!**比如MySQL。
那么如何把容器内的数据持久化呢?存储到本地?
容器之间可以有一个数据共享技术!Docker容器中产生的数据,同步到本地!这就是卷技术!
目录的挂在,将我们容器内的目录挂在到我们的服务器上。
2 容器数据卷技术使用
2.1 命令参数介绍
docker run
这个命令有个-v
参数,就是用来映射主机目录和容器目录的
docker run -v 主机目录, 容器内目录
2.2 演示
启动一个centos 镜像, 将容器内的home目录和我们本地用户目录下的centos目录挂载
➜ ~ docker run -it -v /Users/wyaoyao/centos:/home centos /bin/bash
[root@d94f67b791cd /]#
使用docker ps 查看一下
➜ ~ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d94f67b791cd centos "/bin/bash" 13 minutes ago Up 13 minutes
查看本地的 /Users/wyaoyao/ 自动生成一个centos目录
测试一: 在容器的内部的home目录创建一个文件,在本地的/Users/wyaoyao/centos,是否会同步呢
在主机上修改文件内容是否会同步到容器中
- 在主机上刚刚的test.java文件,增加如下内容
class Hello{
public static void main(String[] args){
System.out.println("Hello Wordl")
}
}
- 查看容器内部的文件的内容
[root@d94f67b791cd home]# cat test.java
class Hello{
public static void main(String[] args){
System.out.println("Hello Wordl")
}
}