對于集成測驗,我創建了一個包含資料庫的 Docker 卷。
- 用例 1:我想從完全相同的狀態開始一遍又一遍地使用相同的資料庫,并且我還想與其他開發人員共享它。
- 用例 2:有時,我想修改卷以包含用于其他測驗的資料。
當我掛載卷時,對資料庫的所有寫操作都會修改卷,這是我想要避免的。我知道可以將卷掛載為只讀,但這也不起作用,因為在測驗期間資料庫也是只讀的。
我想要實作的是使用寫訪問權限掛載卷,但在容器關閉后不保留其狀態。就好像體積資料包含在影像本身中一樣。
我想這樣做 - 包括影像本身中的資料庫 - 但在這種情況下,我的第二個用例(不時修改資料庫以支持其他測驗)似乎要復雜得多(從容器中匯出資料庫,在 docker 之外修改它,然后使用該資料創建一個新影像)。
有人可以告訴我解決該問題的推薦方法嗎?
uj5u.com熱心網友回復:
您可以使用tmpfs坐騎。
docker run -d \
-it \
--name tmptest \
--tmpfs /app \
nginx:latest
與卷和系結掛載相反,tmpfs 掛載是臨時的,僅保留在主機記憶體中。當容器停止時,tmpfs 掛載被洗掉,寫入的檔案不會被持久化。
更多關于這里
注意:它僅適用于 Linux 主機。
uj5u.com熱心網友回復:
看起來像是overlayfs 的一個用例;每個容器都有自己的可寫層,同時保持基礎完好無損。從這個 stackoverflow執行緒中查看更多資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/353063.html
