我已經安裝在AWS EC2虛擬機正式MongoDB的泊塢窗圖像和數據庫已經有數據就可以了。如果我停止虛擬機(爲了節省開支),我會丟失數據庫中包含的所有數據嗎?我怎樣才能使它在這些情況下持久?停止VM與MongoDB的碼頭工人,圖像不會丟失數據
0
A
回答
3
可以有多種選擇來實現這一點,但2點最常用的方法有:
- 主機上創建一個目錄來安裝數據
- 創建一個泊塢窗 捲上加載數據
1)您的主機系統,例如,創建一個合適的捲上的數據目錄/my/own/datadir
。啓動蒙戈容器是這樣的:
$ docker run --name some-mongo -v /my/own/datadir:/data/db -d mongo:tag
命令的-v /my/own/datadir:/data/db
部分安裝從底層主機系統/my/own/datadir
目錄/data/db
的容器內,在MongoDB的默認情況下將其寫入數據文件。
注意,在主機系統上的用戶在SELinux啓用可能會看到這個問題。目前的解決方法是將相關的SELinux策略類型分配到新的數據目錄,以便容器將被允許訪問:
$ chcon -Rt svirt_sandbox_file_t /my/own/datadir
源本是official documentation of the image。
2)的另一種可能性是使用搬運工體積。
$ docker volume create my-volume
這將在文件夾/var/lib/docker/volumes/my-volume
中創建泊塢窗卷。現在你可以開始你的容器:
docker run --name some-mongo -v my-volume:/data/db -d mongo:tag
所有數據將被存儲在my-volume
所以在文件夾/var/lib/docker/my-volume
。所以,即使你刪除你的容器,並創建該卷的數據將被加載到新的容器鏈接的新蒙戈容器。
時,也可以執行你的初始docker run
命令使用--restart=always
選項。這意味着您的容器會在重新啓動虛擬機後自動重啓。當你保存了你的數據時,你的數據庫在重啓之前或之後都沒有區別。
相關問題
- 1. 碼頭工人停止
- 2. 碼頭工人停止容器自動
- 3. SSH例如不與碼頭工人工作:混帳/ DIND圖像
- 4. 圖像元數據丟失
- 5. 圖像丟失數據
- 6. 碼頭工人無法建立圖像
- 7. 不能升級碼頭工人在Ubuntu16組成的VM
- 8. 爲什麼在法定人數丟失後,馬拉松不會終止工作?
- 9. 停止基於圖像的css菜單丟失
- 10. 如何重新啓動已停止的碼頭工人容器
- 11. Python:停止控制而不丟失數據
- 12. 請與碼頭工人
- 13. 如何在不丟失數據的情況下捕獲Linux VM的映像
- 14. MongoDB中的MapReduce - 丟失的數據
- 15. MongoDB的DATA_HAS_BEEN_BACKED_UP,丟失的數據庫
- 16. 停在碼頭工人數據庫容器自動
- 17. base64圖像imagecreatefromstring()丟失數據
- 18. 詹金斯聲明管道不會與碼頭工人羣
- 19. 碼頭工人暫停使用criu
- 20. 設置HTTP頭(CI中)時,會丟失會話數據
- 21. 如何停止從而拉開了與碼頭工人,容器`--restart = always`
- 22. CodeIgniter會話丟失數據
- 23. 創建一個新的碼頭工人VM
- 24. 與碼頭工人羣數據庫的持續部署
- 25. 從gradle這個運行碼頭工人:不能拉圖像
- 26. 碼頭工人建立失敗
- 27. 碼頭停止與0退出
- 28. MongoDB意外關機和數據丟失
- 29. MongoDB - 重新啓動VPS後與數據庫的連接丟失
- 30. 運行的node.js與碼頭工人