首頁 >運維 >Docker >docker中掛載是什麼意思

docker中掛載是什麼意思

青灯夜游
青灯夜游原創
2022-02-23 15:59:3410129瀏覽

在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中檔案

##containermount result不存在的檔案已經存在的檔案禁止行為##存在的檔案
#host
不存在的檔案/已經存在的檔案 新增/覆蓋(若目錄不存在則會建立目錄)
應用場景

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

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

推薦學習:《

docker影片教學

以上是docker中掛載是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn