国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > 建站經(jīng)驗(yàn) > 正文

詳解Docker目錄掛載的方法總結(jié)

2019-11-02 16:34:00
字體:
供稿:網(wǎng)友

Docker容器啟動(dòng)的時(shí)候,如果要掛載宿主機(jī)的一個(gè)目錄,可以用-v參數(shù)指定。

譬如我要啟動(dòng)一個(gè)centos容器,宿主機(jī)的/test目錄掛載到容器的/soft目錄,可通過以下方式指定:

# docker run -it -v /test:/soft centos /bin/bash

這樣在容器啟動(dòng)后,容器內(nèi)會(huì)自動(dòng)創(chuàng)建/soft的目錄。通過這種方式,我們可以明確一點(diǎn),即-v參數(shù)中,冒號(hào)":"前面的目錄是宿主機(jī)目錄,后面的目錄是容器內(nèi)目錄。

貌似簡單,其實(shí)不然,下面我們來驗(yàn)證一下:

一、容器目錄不可以為相對(duì)路徑

[root@localhost ~]# docker run -it -v /test:soft centos /bin/bashinvalid value "/test:soft" for flag -v: soft is not an absolute pathSee 'docker run --help'.

直接報(bào)錯(cuò),提示soft不是一個(gè)絕對(duì)路徑,所謂的絕對(duì)路徑,必須以下斜線“/”開頭。

二、宿主機(jī)目錄如果不存在,則會(huì)自動(dòng)生成

如果宿主機(jī)中存在/test目錄,首先刪除它

[root@localhost ~]# rm -rf /test[root@localhost ~]# ls /bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var

啟動(dòng)容器

[root@localhost ~]# docker run -it -v /test:/soft centos /bin/bash[root@a487a3ca7997 /]# lsbin dev etc home lib lib64 lost+found media mnt opt proc root run sbin soft srv sys tmp usr var

查看宿主機(jī),發(fā)現(xiàn)新增了一個(gè)/test目錄

[root@localhost ~]# ls /bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys test tmp usr var

三、宿主機(jī)的目錄如果為相對(duì)路徑呢?

這次,我們換個(gè)目錄名test1試試

# docker run -it -v test1:/soft centos /bin/bash

再到宿主機(jī)上查看是否新增了一個(gè)/test1目錄,結(jié)果沒有,是不是因?yàn)槲矣玫氖窍鄬?duì)路徑,所以生成的test1目錄在當(dāng)前目錄下,結(jié)果發(fā)現(xiàn)還是沒有。那容器內(nèi)的/soft目錄掛載到哪里去了?通過docker inspect命令,查看容器“Mounts”那一部分,我們可以得到這個(gè)問題的答案。

"Mounts": [    {      "Name": "test1",      "Source": "/var/lib/docker/volumes/test1/_data",      "Destination": "/soft",      "Driver": "local",      "Mode": "z",      "RW": true    }  ],

可以看出,容器內(nèi)的/soft目錄掛載的是宿主機(jī)上的/var/lib/docker/volumes/test1/_data目錄

原來,所謂的相對(duì)路徑指的是/var/lib/docker/volumes/,與宿主機(jī)的當(dāng)前目錄無關(guān)。

四、如果只是-v指定一個(gè)目錄,這個(gè)又是如何對(duì)應(yīng)呢?

啟動(dòng)一個(gè)容器

[root@localhost ~]# docker run -it -v /test2 centos /bin/bash[root@ea24067bc902 /]# lsbin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys test2 tmp usr var

同樣使用docker inspect命令查看宿主機(jī)的掛載目錄

"Mounts": [    {      "Name": "96256232eb74edb139d652746f0fe426e57fbacdf73376963e3acdb411b3d73a",      "Source": "/var/lib/docker/volumes/96256232eb74edb139d652746f0fe426e57fbacdf73376963e3acdb411b3d73a/_data",      "Destination": "/test2",      "Driver": "local",      "Mode": "",      "RW": true    }  ],

可以看出,同3中的結(jié)果類似,只不過,它不是相對(duì)路徑的目錄名,而是隨機(jī)生成的一個(gè)目錄名。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 得荣县| 翁源县| 阳原县| 房产| 大渡口区| 四子王旗| 无极县| 东莞市| 长治县| 鄂托克旗| 永胜县| 涿鹿县| 临猗县| 平南县| 海淀区| 杂多县| 岑溪市| 建始县| 万州区| 马尔康县| 利川市| 图木舒克市| 黑河市| 滁州市| 佛山市| 长垣县| 龙江县| 阿鲁科尔沁旗| 营山县| 沽源县| 彰化市| 绵阳市| 汝州市| 万载县| 九龙城区| 大竹县| 开原市| 喜德县| 威信县| 平昌县| 道孚县|