DockerDocker【Docker 学习八】docker具名和匿名挂载
鱼六秒具名和匿名挂载
匿名挂载不推荐
用法
1 2 3 4 5 6
| v 只有容器内路径 不指定宿主机目录;会生成随机的宿主机挂载目录 -P 随机映射端口 docker run -d -P --name 容器名称 -v 容器内部路径 镜像名
查看所有的 volume 的情况 docker volume ls
|
配置nginx匿名挂载
1 2
| docker run -d -P --name nginx02 -v /ect/nginx nginx
|
查看所有的volume的情况
发现这种就是匿名挂载,我们在-v只写了容器内部的路径,没有写宿主机的路径
但是在宿主机下生成随机的挂载文件名
查看宿主机所在路径
截取Mounts的数组(列表)
1 2 3 4 5 6 7 8 9 10 11 12
| { "Type": "volume", "Name": "55fc4f19cb4fb36d21a902027a2e3bd8a91647d6475ea1b99bb39346bd7f61a8", "Source": "/var/lib/docker/volumes/55fc4f19cb4fb36d21a902027a2e3bd8a91647d6475ea1b99bb39346bd7f61a8/_data", "Destination": "/ect/nginx", "Driver": "local", "Mode": "", "RW": true, "Propagation": "" }
|
所有的docker容器内的数据卷,没有指定目录情况下都是在/var/lib/docker/volumes/xxx/...
具名挂载推荐
用法
1 2
| 指明挂载点的文件名(卷名),不是路径 docker run -d -P --name 容器名 -v 卷名:容器内部路径 镜像名
|
配置nginx具名挂载
1 2
| docker run -d -P --name nginx03 -v nginx03_v:/ect/nginx nginx
|
查看所有的volume的情况
发现这种就是具名挂载,写指定挂载文件名(不是路径),生成挂载文件夹不再是随机的
查看特定的卷
用法
1
| docker volume inspect 卷名
|
查看情况
1
| docker volume inspect nginx03_v
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| [ { "CreatedAt": "2023-10-10T11:56:10+08:00", "Driver": "local", "Labels": null, "Mountpoint": "/var/lib/docker/volumes/nginx03_v/_data", "Name": "nginx03_v", "Options": null, "Scope": "local" } ]
|
总结
我们通过具名挂载可以方便的找到我们的一个卷,大多数情况在使用的具名挂载
1 2 3 4
| # 如何确定是`具名挂载`还是`匿名挂载`,还是`指定路径挂载` -v 容器内路径 # 匿名挂载 -v 卷名:容器内路径 # 具名挂载 -v 宿主机路径:容器内路径 # 指定路径挂载
|