标签:name volumes 只读 容器 lock bin block format 访问
数据卷是经过特殊计的目录,可以绕过联合文件系统(UFS),为一个或多个容器提供访问。
数据卷设计的目的,在于数据的永久化,它完全独立与容器的生存周期,因此,Docker不会在容器删除时删除其挂载的数据卷,也不会存在类似的垃圾收集机制,对容器引用的数据卷进行处理。
docker数据卷是独立于容器,存在于宿主机Host里。数据卷可以是目录,也可以是文件。数据卷可以实现多个容器的数据共享和交换。
sudo docker run -v ~/containerdata:/data -it ubuntu/bin/bash
$dockerrun -v ~/datavolume:/data:ro -it ubuntu/bin/bash
只读
DockerfiIe指令:VOLUME["/data"]
创建的目录不能映射已存在的本地文件目录中,运行同样镜像所建的数据卷也是不同的。本地目录由docker自动创建。
命名的容器挂载数据卷,其他容器通过挂载这个容器实现数据共享,挂载数据卷的容器,就叫做数据卷容器。
挂载数据卷容器的方法:
docker run --volumes-from [CONTAINERNAME]
简化inspect返回信息,只查看volume信息:
docker inspect --format="{{.volumes}}" CONTAINER-NAME
即使删除了数据卷容器,挂载这个数据卷容器的容器仍然可以访问数据卷挂载目录,即数据卷容器只是一个配置信息的传递
docker rm -v CONTAINER_NAME
连同volume一起删除(依旧可以访问,实质是指向本地目录)
docker run --volumes-from [container name] -v $(pwd):/backup ubuntu
tar cvf /backup/backup.tar [container data volume]
docker run --volumes-from [container name] -v$(pwd):/backup ubuntu
tar xvf /backup/backup.tar [container data volume]
标签:name volumes 只读 容器 lock bin block format 访问
原文地址:https://www.cnblogs.com/boxker/p/10631429.html