一、匿名掛載
1、即不指定掛載到主機上的路徑,只指定容器內部需要掛載的目錄。
2、查看宿主機所有卷的掛載情況。
docker volume ls
圖中標記的數據卷都是匿名數據卷,因為沒有名字。
local 2a033f3bf262662cba43289e90ce97a152e116863c77038192471a2692594fbb
二、具名掛載
1、給掛載位置添加名字,即具名掛載。
指令:docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx
注意:這里 -v juming-nginx: 代表直接給定名字,但是沒有指定路徑,如果在juming-nginx前面你添加/,則代表指定路徑。
如圖,查看數據卷一欄增加了剛剛添加的數據卷。
2、查看數據卷的配置信息。
指令:docker volume inspect 數據卷id
“Mountpoint”即在主機上上分配的掛載路徑。
所有容器內的卷,在沒有指定目錄的情況下都是掛載在:/var/lib/docker/volumes/xxxx/_data 目錄下。
3、進入主機的卷目錄,查看數據卷的配置信息
可以看到,容器內部映射過來的 nginx.conf 文件已經同步過來了
可以查看配置信息。命令:cat nginx.conf
4、通過具名掛載可以方便地找到掛載的卷,大多數情況下都是使用具名掛載的方式。
三、具名掛載、匿名掛載和指定路徑掛載的區別
1、
-v 容器內部路徑 #匿名掛載
-v 卷名:容器內部路徑 #具名掛載
-v /宿主機路徑:容器內部路徑 指定路徑掛載
2、數據卷掛載還可以賦予權限
通過 -v 容器內路徑 :ro或rw 改變讀寫權限
例子:
docker run -d -P --name ningix01 -v /etc/nginx nginx:ro
即創建的這個卷是只讀權限(read only),即容器內部職能讀取,不能修改,必須通過宿主機來進行修改。
默認是rw權限,即可讀可寫。
-*-本篇使用到的命令-*-
1、匿名掛載指令
例子:docker run -d -P --name ningix01 -v /etc/nginx nginx
-P 隨機映射端口
--name 容器名字
-v /etc/nginx,只指定容器內部需要掛在的路徑。
2、查看所有卷的掛載情況
指令說明:
Usage: docker volume COMMAND
Manage volumes
Commands:
create Create a volume
inspect Display detailed information on one or more volumes
ls List volumes
prune Remove all unused local volumes
rm Remove one or more volumes
例子:docker volume ls 查看所有的數據卷
docker volume inspect 數據卷id 查看某個數據卷的詳細配置信息
3、cat 文件名 --在終端中打開文件