Docker数据卷挂载命令volume(-v)与mount的使用总结

领取MOLI红包

栏目分类Docker数据卷挂载命令volume(-v)与mount的使用总结

你的位置:NPC 中文站 > ZTX中文网 >

Docker数据卷挂载命令volume(-v)与mount的使用总结

发布日期:2025-01-04 10:57    点击次数:101
前言 用户可以通过docker run的--volume/-v或--mount选项来创建带有数据卷的容器,但这两个选项有些微妙的差异,在这里总结梳理一下。 命令用法 --volume(-v) 参数--volume(或简写为-v)只能创建bind mount。示例: 注释: 命令格式:[[HOST-DIR:]CONTAINER-DIR[:OPTIONS]]]如果指定HOST-DIR则必须是绝对路径,如果路径不存在则会自动创建实例中的rw为读写,ro为只读 --mount 参数--mount默认情况下用来挂载volume,但也可以用来创建bind mount和tmpfs。如果不指定type选项,则默认为挂载volume,volume是一种更为灵活的数据管理方式,volume可以通过docker volume命令集被管理。示例: 注释: 挂载volume命令格式:[type=volume,]source=my-volume,destination=/path/in/container[,...]创建bind mount命令格式:type=bind,source=/path/on/host,destination=/path/in/container[,...]如果创建bind mount并指定source则必须是绝对路径,且路径必须已经存在示例中readonly表示只读 差异总结 创建bind mount和挂载volume的比较 对比项bind mountvolumeSource位置用户指定/var/lib/docker/volumes/Source为空覆盖dest为空保留dest内容Source非空覆盖dest内容覆盖dest内容Source种类文件或目录只能是目录可移植性一般(自行维护)强(docker托管)宿主直接访问容易(仅需chown)受限(需登陆root用户)* *注释:Docker无法简单地通过sudo chown someuser: -R /var/lib/docker/volumes/somevolume来将volume的内容开放给主机上的普通用户访问,如果开放更多权限则有安全风险。而这点上Podman的设计就要理想得多,volume存放在$HOME/.local/share/containers/storage/volumes/路径下,即提供了便捷性,又保障了安全性。无需root权限即可运行容器,这正是Podman的优势之一,实际使用过程中的确受益良多。 创建bind mount时使用--volume和--mount的比较 对比项--volume 或 -v--mount type=bind如果主机路径不存在自动创建命令报错 官方文档 到此这篇关于Docker数据卷挂载命令volume(-v)与mount的使用总结的文章就介绍到这了,更多相关Docker volume(-v)与mount内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!