首頁  >  文章  >  運維  >  docker可以掛載檔案嗎

docker可以掛載檔案嗎

WBOY
WBOY原創
2022-07-08 15:23:566944瀏覽

docker可以掛載檔案;檔案掛載指的是將宿主機的指定檔案掛載到docker容器中的文件,檔案位置由使用者自行管理,可以利用run指令實作宿主機檔案掛載到容器內文件,語法為「docker run --name ...」。

docker可以掛載檔案嗎

本教學操作環境:linux7.3系統、docker19.03版、Dell G3電腦。

docker可以掛載檔案

檔案掛載是將宿主機的指定檔案掛載到Docker容器中的文件,檔案位置由使用者自行管理

範例

docker run --name <容器名> -p 80:80 -v <宿主机文件绝对路径:容器内文件绝对路径> -d <仓库名:版本标签>
# docker run --name nginx-contain -p 80:80 -v /docker_conf/nginx/html/index.html:/usr/share/nginx/html/index.html -d nginx
# 宿主机文件挂载到容器内文件

ps:

1.宿主機檔案會覆寫容器內檔案

#擴充知識

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

作用:

我cp指令來實現資料傳遞,這種方式比較麻煩;

我們透過容器目錄掛載,可以實現宿主機和容器目錄的雙向資料自動同步,能夠輕鬆實現程式碼上傳,配置修改,日誌同步等需求。

註:docker 掛載設定檔時,一定要注意不要把要掛載的設定檔的內容寫錯,否則創建容器之後,啟動不了

資料夾掛載

host上資料夾一定會覆寫container中資料夾:

docker可以掛載檔案嗎

#允許不存在的資料夾或是存在的空資料夾掛載進container, container中對應的資料夾將會被清空

非空資料夾掛載進container將會覆寫container中原有資料夾

檔案掛載

檔案掛載與資料夾掛載最大的不同點在於:

docker 禁止用主機上不存在的檔案掛載到container中已經存在的檔案

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

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

總結

host上檔案一定會覆寫container中檔案

host container mount result

不存在的檔案 已經存在的檔案 禁止行為

#存在的檔案 不存在的檔案/已經存在的檔案 新增/覆蓋(若目錄不存在則會建立目錄)

應用程式場景

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

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

推薦學習:《docker影片教學

以上是docker可以掛載檔案嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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