在docker中,掛載能夠用本機(jī)文件或文件夾覆蓋容器內(nèi)的文件或文件夾,文件掛載不會對同一文件夾下的其他文件產(chǎn)生任何影響,能夠?qū)崿F(xiàn)宿主機(jī)和容器目錄的雙向數(shù)據(jù)自動同步。
本教程操作環(huán)境:linux7.3系統(tǒng)、docker-1.13.1版、Dell G3電腦。
docker掛載有什么用
docker掛載就是用本機(jī)文件或文件夾覆蓋容器內(nèi)的文件或文件夾
注:docker?掛載配置文件時,一定要注意不要把要掛載的配置文件的內(nèi)容寫錯,否則創(chuàng)建容器之后,啟動不了
背景介紹
docker?volume?可以使我們在啟動docker容器時,動態(tài)的掛載一些文件(如配置文件),?以覆蓋鏡像中原有的文件
文件夾掛載
host上文件夾一定會覆蓋container中文件夾:
允許不存在的文件夾或者存在的空文件夾掛載進(jìn)container,?container中對應(yīng)的文件夾將被清空
非空文件夾掛載進(jìn)container將會覆蓋container中原有文件夾
文件掛載
文件掛載與文件夾掛載最大的不同點(diǎn)在于:
docker?禁止用主機(jī)上不存在的文件掛載到container中已經(jīng)存在的文件
文件掛載不會對同一文件夾下的其他文件產(chǎn)生任何影響
存在的文件掛載進(jìn)container中將會覆蓋container中對應(yīng)的文件,?若文件不存在則新建
總結(jié)
host上文件一定會覆蓋container中文件
應(yīng)用場景
從上面的分析可知,文件夾掛載以整個文件夾為單位進(jìn)行文件覆蓋,故可在需要將大量文件掛載進(jìn)container時使用,另外,如果掛載一個空文件夾或者不存在的文件夾,一般是做逆向使用:?即容器啟動后,可能會在容器內(nèi)掛載點(diǎn)的文件夾下生成一些文件(如日志),此時,在對應(yīng)的host上的文件夾內(nèi)就能直接看到。
文件掛載由于只會覆蓋單個文件而不會影響container中同一文件夾下的其他文件,常常被用來掛載配置文件,以在運(yùn)行時,動態(tài)的修改默認(rèn)配置。
推薦學(xué)習(xí):《docker視頻教程》