今天在使用docker的數據卷技術進行掛載文件夾時,發現外部掛載目錄為空,進入容器發現對應的掛載點下原來的文件和目錄也都不見了,網上查詢發現如下:
一、文件夾掛載
1、允許不存在的文件夾或者存在的空文件夾掛載進container, container中對應的文件夾將被清空;
2、非空文件夾掛載進container將會覆蓋container中原有文件夾。
二、文件掛載
1、禁止將不存在的文件掛載進container中已經存在的文件上;
2、存在的文件掛載進container中將會覆蓋container中對應的文件, 若文件不存在則新建。
三、應用場景
1、從上面的分析可知,文件夾掛載以整個文件夾為單位進行文件覆蓋,故可在需要將大量文件掛載進container時使用,另外,如果掛載一個空文件夾或者不存在的文件夾,一般是做逆向使用: 即容器啟動后,可能會在容器內掛載點的文件夾下生成一些文件(如日志),此時,在對應的host上的文件夾內就能直接看到;
2、文件掛載由於只會覆蓋單個文件而不會影響container中同一文件夾下的其他文件,常常被用來掛載配置文件,以在運行時,動態的修改默認配置。
博客參考: