8.3 tmpfs 掛載
tmpfs 掛載會把資料放在記憶體中,而不是寫入容器可寫層或資料卷。它只適用於 Linux 語義的容器環境,適合需要快速讀寫但不要求持久化的資料。
8.3.1 適用場景
- 臨時快取
- 會話資料
- 不希望落盤的敏感中間檔案
8.3.2 基本用法
使用 --mount 語法(推薦):
$ docker run --mount type=tmpfs,destination=/run,tmpfs-size=67108864,tmpfs-mode=1770 nginx
也可以使用 --tmpfs 簡寫語法:
$ docker run --tmpfs /run:size=64m nginx
注意:
--tmpfs更適合簡單場景;如果你希望顯式描述掛載點、大小和許可權,--mount type=tmpfs,...的可讀性更好,也更便於後續維護。
8.3.3 注意事項
- 容器停止後,
tmpfs資料會丟失。 tmpfs佔用宿主機記憶體,建議顯式限制大小。- 不適合需要持久化的資料。
tmpfs不適合多個容器共享同一份資料,也不適合當作跨重啟的快取層。- 在記憶體壓力較高時,部分資料可能受系統交換機制影響,因此不要把
tmpfs當作絕對不會落盤的安全邊界。
8.3.4 與 Volume / Bind Mount 對比
| 型別 | 資料位置 | 持久化 | 典型用途 |
|---|---|---|---|
| Volume | Docker 管理目錄 | 是 | 資料庫、長期業務資料 |
| Bind Mount | 宿主機指定目錄 | 是 | 開發聯調、設定檔案共享 |
| tmpfs | 記憶體 | 否 | 高速臨時資料、敏感臨時檔案 |