使用docker run指定命名卷/绑定挂载的方法及二者区分规则
Docker run中命名卷与绑定挂载的区分与使用方法
一、指定命名卷或绑定挂载的方式
- 命名卷:使用
-v 自定义卷名:容器内目标路径格式,卷名无需对应主机实际路径,Docker会自动在其管理的目录(通常为/var/lib/docker/volumes/)下创建该卷。
示例:docker run -v my-data-volume:/app/storage my-image - 绑定挂载:使用
-v 主机绝对路径:容器内目标路径格式,必须指定主机上的真实绝对路径(Linux/macOS以/开头,Windows以盘符如C:\开头)。
示例:docker run -v /home/user/local-data:/app/storage my-image(Linux/macOS);docker run -v D:\local-data:/app/storage my-image(Windows)
二、docker run -v value-a:some/dir my-image的挂载类型
这条命令会挂载名为value-a的命名卷,而非主机上的value-a目录。
三、Docker区分两者的核心规则
Docker通过-v参数冒号前的内容格式来判断:
- 如果该内容是绝对路径(符合主机系统的绝对路径格式),则判定为绑定挂载,直接映射主机对应路径到容器内。
- 如果该内容是普通字符串(非绝对路径格式),则判定为命名卷,Docker会自动创建该卷(不存在时)并挂载到容器指定路径。
内容的提问来源于stack exchange,提问作者meblum
相关产品推荐
相关产品推荐

