本篇内容主要讲解“Docker Volume是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker Volume是什么”吧!一:简介Docker镜像是由多个文件系统(只读层)叠加而成.
本篇内容主要讲解“Docker Volume是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker Volume是什么”吧!
一:简介
Docker镜像是由多个文件系统(只读层)叠加而成.当我们启动一个容器的时候,Docker会加载镜像层并在其上添加一个读写层.如果运行中的容器修改了现有的一个已存在的文件,那该文件将会从读写层下的只读层复制到读写层,该文件的只读版本仍然存在,只是已经被读写层中该文件的副本所隐藏.当删除Docker容器,并通过该镜像重新启动时,之前的更改将会丢失.在Docker中,只读层以及在顶部的读写层的组合被称为UNIOn FIle System(联合文件系统).
为了能够保存(持久化)数据以及共享容器间的数据,Docker提出了Volume的概念.简单来说,Volume就是目录或者文件,它可以绕过默认的联合文件系统,而以正常的文件或者目录的形式存在于宿主机上.
二:数据卷
1.映射本地服务器的目录 到 容器的/data目录下面
docker run -ti --name myCentos -v /data centos:latest /bin/bash
docker inspect myCentos
查看结果 本地服务器目录/var/lib/docker/volumes/f4e3133241c8ff27327bc7b9c43588202c22a1cde460ba52b762b75571fed257/_data 被映射到了容器的/data目录下面
点击(此处)折叠或打开
"Mounts": [
{
"Name": "f4e3133241c8ff27327bc7b9c43588202c22a1cde460ba52b762b75571fed257",
"Source": "/var/lib/docker/volumes/f4e3133241c8ff27327bc7b9c43588202c22a1cde460ba52b762b75571fed257/_data",
"Destination": "/data",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}
]
容器/data目录下面的变动信息,在本地服务中都可以看的到。
3.该-v命令 等同于Dockerfile 文件中的 VOLUME /data命令
4.挂载本地服务器指定目录到容器目录中(这是Dockerfile文件中无法实现的)
docker run -ti --name myCentos3 -v /data/docker:/data/docker centos:latest /bin/bash
三:数据共享&数据卷容器
docker run -ti --name myCentos4 --volumes-from myCentos3 centos:latest /bin/bash
docker run -ti --name myCentos5 --volumes-from myCentos3 centos:latest /bin/bash VOLUME /data
myCentos4 ,myCentos5 共享容器myCentos3 的数据卷, myCentos3 是一个专门的数据卷容器。
常见的使用场景是使用纯数据容器来持久化数据库,配置文件或者数据文件等。 数据卷容器不需要启动即可以用来使用。
四:利用数据卷容器对其中的数据卷进行备份和恢复,以实现数据的迁移
备份:
docker run --name myCentos5 --volumes-from myCentos3 -v /backup:/backup centos:latest tar czvf /backup/backup.tar /data/docker
恢复:
docker run --name myCentos6 -v /data/docker centos:latest /bin/bash (创建一个带有数据卷的容器)
docker run --name myCentos7 --volumes-from myCentos6 -v /backup:/backup centos:latest tar xzvf /backup/backup.tar
mv . /data/docker
五:删除数据卷容器
docker rm -v
到此,相信大家对“Docker Volume是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
--结束END--
本文标题: Docker Volume是什么
本文链接: https://lsjlt.com/news/238038.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0