命名的容器挂载数据卷。其他容器通过挂载这个容器实现数据共享,挂载数据的容器 -> 称之为数据卷容器
创建DockerFile
FROM centos
VOLUME ["dataVolume01", "dataVolume02"]
CMD /bin/bash
构建镜像
docker build -f dockerFile02 -t mzw/centos .
启动容器
启动容器并命名为test01
docker run -it --name test01 mzw/centos
修改数据卷
进入数据卷
cd dataVolume01
创建文件并填写数据
echo hello >> a.txt
创建子容器
创建子容器,命名为test02,指定数据卷为容器test01
docker run -it --name test02 --volumes-from test01 mzw/centos
创建子容器,命名为test03,指定数据卷为容器test01
docker run -it --name test03 --volumes-from test01 mzw/centos
验证
-
在容器test02中进入数据卷
cd dataVolume01 -
查看内部数据
cat a.txt
test02与test01 数据卷内容一致 -
修改test02内数据卷内容,查看test01内数据卷
- 修改test02数据卷内容

- 查看test01数据内容

test01与test02 数据卷内容一致
- 修改test02数据卷内容
此时删掉test01容器,02和03数据依然共享
数据卷的生命周期一直持续到没有容器使用为止
本文详细介绍了如何使用Docker创建数据卷容器,包括创建Dockerfile、构建镜像、启动容器、修改数据卷、创建子容器以及验证数据卷的继承和共享。数据卷的生命周期与容器无关,即使删除源容器,数据仍可被其他依赖的子容器访问。
1058

被折叠的 条评论
为什么被折叠?



