指定路徑掛載:
首先來講一下指定路徑掛載吧,這種掛載方式使我們之前一直使用的,就是通過 -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的目錄下