1. 程式人生 > 其它 >四、具名和匿名掛載

四、具名和匿名掛載

匿名掛載

# -v 容器路徑

[root@docker ~]# docker run -d -P --name nginx01 -v /etc/nginx nginx

#檢視所有的volume的情況

[root@docker ~]# docker volume ls

[root@docker ~]# docker volume ls

DRIVER VOLUME NAME

local 0731add5926a866269c890add0c9761a0911a4033deff71d770827a6dbb1f01e

#這種發現,就是匿名掛載,我們在-v後只寫了容器內的路徑沒有寫容器外的路徑

具名掛載:

[root@docker ~]# docker run -d -P --name nginx02 -v jvming-nginx:/etc/nginx nginx

2236cc3b320eff1c18bd6bfef885171de54c3b8bbdc5730e1d3e34749951be07

[root@docker ~]# docker volume ls

DRIVER VOLUME NAME

local jvming-nginx

#通過-v 卷名:容器內路徑

#檢視一下卷

[root@docker ~]# docker volume inspect jvming-nginx

所有docker容器內的卷,沒有指定目錄的情況下都是在“/var/lib/docker/volumes/*”

我們通過具名掛載可以方便我們找到我們的一個卷,大多數情況下我們使用的具名掛載

如何區分匿名、具名和指定路徑掛載:

-v 容器內路徑 #匿名掛載

-v 卷名:容器內路徑 #具名掛載

-v 宿主機路徑:容器內路徑 #指定路徑掛載

拓展:

#通過-v容器內路徑,ro、rw 改變讀寫許可權

一旦設定容器許可權,容器對我們掛載出來的內容就有限定了

[root@docker ~]# docker run -d -P --name nginx02 -v jvming-nginx:/etc/nginx:ro nginx

[root@docker ~]# docker run -d -P --name nginx02 -v jvming-nginx:/etc/nginx:rw nginx

#ro 只要看到ro就說明只能通過宿主機來改變了,容器內部無法操作了