指定路径挂载:
首先来讲一下指定路径挂载吧,这种挂载方式使我们之前一直使用的,就是通过 -v 宿主机目录:容器内目录,的方式食宿主机目录成为容器的数据源目录,两个目录的任何一方的数据发生变化
另外一方的数据也会发生相应的变化。
匿名挂载:
匿名挂载的方式是 -v 容器内路径 的方式,也就是只设置一个容器内的路径并没有设置宿主机目录。
docker run --name nginx02 -d -v /etc/nginx -P nginx
执行匿名挂载成功,但是我们有一个疑问,那么这种挂载方式挂载的目录在我们宿主机的什么地方呢?
首先我们要了解的一个概念是:无论是具名挂载还是匿名挂载都会商城一个唯一的与容器内目录对应的卷名,我们可以通过 docker volume ls
我们执行一下这个命令:
然后我们可以通过docker volume inspect 卷名 的方式来获得指定全卷的元数据,查看它的详细信息:
匿名挂载的卷全部都在宿主机的/var/lib/docker/volumes的目录下
具名挂载:
具名挂载的方式是: -v 卷名:容器内目录
例如:
docker run --name nginx03 -P -d -v juming:/etc/nginx nginx
通过 docker volume ls 的命令铲看有没有juming的卷名:
我们查看juming卷的元数据:
docker volume inspect juming
可以看出具名挂载的卷实际上也是在/var/lib/docker/volumes的目录下