docker-day10

2021/9/11 23:07:01

本文主要是介绍docker-day10,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1、容器数据卷
docker :将应用和环境打包成一个镜像,运行就成了容器

数据不应该放在容器中,如果数据放在容器中,删除了容器,数据也会丢失------所以需要将数据持久化,比如将mysql的数据存储在本地或者其他地方
所以需要一种技术:容器之间数据共享:在docker容器中产生的数据同步到本地,这样即使将容器删了,数据也不会丢失
卷技术:将容器内的目录,挂在到虚拟机上或者linux上面

方式一:使用命令挂载 -v
docker run -it -v /home/ceshi:/home centos /bin/bash 将容器中的home目录挂载到linux的/home/ceshi 目录下
再开一个窗口在容器外 docker inspect 容器id 查看有没有挂载成功
"Mounts": [
{
"Type": "bind",
"Source": "/home/ceshi",
"Destination": "/home",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
---source内就是主机内的地址,是真实服务器上的
---Destination是docker容器内的地址
---如果没有Mounts信息就说明挂载失败了

确认挂载成功之后,可以试试在容器内部的/home目录下touch一个新的文件
然后到容器外部也就是服务器的/home/ceshi中查看在容器内新创建的文件是不是同步过来了,同步了就是对的

另外反向操作也可以,比如exit退出容器之后,在容器外的/home/ceshi目录下修改了文件,
用docker ps -a查找到之前退出的那个容器id
docker start 容器id进行启动
cd /home目录下查看会发现在容器外的改动也同步到了容器内部



这篇关于docker-day10的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程