docker中掛載是什么意思

docker中,掛載就是用宿主機的文件或文件夾覆蓋容器內的文件或文件夾,可以實現宿主機和容器目錄(文件)的雙向數據自動同步。

docker中掛載是什么意思

本教程操作環境:linux5.9.8系統、docker-1.13.1版、Dell G3電腦。

docker掛載就是用本機文件或文件夾覆蓋容器內的文件或文件夾。

作用:

我們cp命令來實現數據傳遞,這種方式比較麻煩;

我們通過容器目錄掛載,可以實現宿主機和容器目錄的雙向數據自動同步,能夠輕松實現代碼上傳,配置修改,日志同步等需求。

注:docker 掛載配置文件時,一定要注意不要把要掛載的配置文件的內容寫錯,否則創建容器之后,啟動不了

文件夾掛載

host上文件夾一定會覆蓋container中文件夾:

host container mount result
文件夾不存在/文件夾存在但為空 文件夾不存在/存在但為空/存在且不為空 container中文件被覆蓋(清空)
文件夾存在且不為空 文件夾不存在/存在但為空/存在且不為空 container中文件夾內容被覆蓋(原內容清空, 覆蓋為host上文件夾內容)
  • 允許不存在的文件夾或者存在的空文件夾掛載進container, container中對應的文件夾將被清空

  • 非空文件夾掛載進container將會覆蓋container中原有文件夾

文件掛載

文件掛載與文件夾掛載最大的不同點在于:

  • docker 禁止用主機上不存在的文件掛載到container中已經存在的文件

  • 文件掛載不會對同一文件夾下的其他文件產生任何影響

  • 存在的文件掛載進container中將會覆蓋container中對應的文件, 若文件不存在則新建

總結

host上文件一定會覆蓋container中文件

host container mount result
不存在的文件 已經存在的文件 禁止行為
存在的文件 不存在的文件/已經存在的文件 新增/覆蓋 (若目錄不存在則會創建目錄)

應用場景

從上面的分析可知,文件夾掛載以整個文件夾為單位進行文件覆蓋,故可在需要將大量文件掛載進container時使用,另外,如果掛載一個空文件夾或者不存在的文件夾,一般是做逆向使用: 即容器啟動后,可能會在容器內掛載點的文件夾下生成一些文件(如日志),此時,在對應的host上的文件夾內就能直接看到。

文件掛載由于只會覆蓋單個文件而不會影響container中同一文件夾下的其他文件,常常被用來掛載配置文件,以在運行時,動態的修改默認配置。

推薦學習:《docker視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享