匿名挂载

-v 直接指定容器内路径

  1. docker run -d -P --name nginx01 -v /etc/nginx nginx

image.png

查看卷帮助信息

  1. docker volume --help

image.png

查看所有卷

volume name为随机数字

ac173af98840fdb2c146eada65ebb0de10c9b402b4701e76a7f52fd83bf1556b

e831e07007d636fef22472ca81d64eccbdc5e1dab6d550e15d39b84a2e30988f
image.png

具名挂载

命令卷

通过 -v 卷名:容器内路径

  1. docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx

image.png

查看所有卷

  1. docker volume ls

image.png

查看卷位置

  1. docker volume inspect juming-nginx

image.png

进入卷

image.png
所有的docker容器内的卷,没有指定目录的情况下都是在 /var/lib/docker/volumes/xxxx/_data

我们通过具名挂载可以方便的找到我们的一个卷,大多数情况使用具名挂载。

如何确定是具名挂载还是匿名挂载,还是指定路径挂载?

-v 容器内路径 #匿名挂载

-v 卷名:容器内路径 #具名挂载

-v 主机路径:容器内路径 #指定路径挂载

拓展:

通过-v容器内路径:ro/rw 可改变读写权限

ro readonly #只读

rw readwrite #可读可写

一旦这个设置了容器权限,容器对我们挂载出来的内容就有限定了!

  1. docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:ro nginx
  2. docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:rw nginx

ro 只要看到ro就说明这个路径只能通过宿主机来操作,容器内部是无法操作的!

指定路径挂载

-v 主机路径:容器内路径 #指定路径挂载