docker是将应用和环境打包成一个镜像!但是如果数据都放在容器中,**那么如果我们把容器删除,数据就会丢失!**比如MySQL。
那么如何把容器内的数据持久化呢?存储到本地?
容器之间可以有一个数据共享技术!Docker容器中产生的数据,同步到本地!这就是卷技术! 目录的挂在,将我们容器内的目录挂在到我们的服务器上。
这个命令有个-v参数,就是用来映射主机目录和容器目录的
docker run -v 主机目录, 容器内目录启动一个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") } }