【Docker容器】Docker的容器数据卷学习

我们知道docker是把应用和环境一起打包成一个镜像。run镜像之后会启动一个容器。但是删除容器操作也非常简单,也就是说数据如果在容器里的话,删除也意味着数据也随之消失,所以我们希望数据可以放在服务器上持久化,这时候我们就得学习容器的数据卷知识。

使用步骤

方式1:使用命令 -v 挂载

docker run -it -v 服务器[文件|目录]:容器目标[文件|目录]
#以centos镜像来测试
docker run -it -v /home/test:/home centos /bin/bash

这时候其实外部的 /home/test目录就跟内部容器的 /home 完全打通,内部加什么文件,外部目录也会有。外部加什么文件,内容也会变化。说白了就是一个同步机制。

#在外部的/home/test 下新建一个test.txt
cd /home/test
touch test.txt

容器内的/home

在这里插入图片描述

我们可以看到容器内部也有一个test.txt

1.这是一个双向的同步过程

2.哪怕你先停掉了容器,然后在外部中编辑内容,当启动容器后,也会同步相对于的内容。

删除容器

测试删除容器后,外部的服务器文件是否也会删除。

#查看正在运行容器 找到容器ID
docker ps
#停掉容器
docker stop 容器ID
#删除容器
docker rm 容器ID

这时候查看 外部刚才关联的目录,文件是没有被删除的。

在这里插入图片描述

重新挂载

由上面的动作可以知道删除容器是不会删除外部文件的,那么如果这时候重新挂载回去,容器内部会重新恢复文件么?

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

在这里插入图片描述

答案与猜想一致,恢复了!

你可能感兴趣的:(Docker,docker,linux,容器)