無處不在,當我讀到Docker容器,我發現很多的人講,他們失去了他們的數據(保存的容器,而不是容積數據的一部分內),當他們重新啓動容器。爲什麼在重新啓動容器後,我的非卷數據在Docker容器持久性中?
我試圖創建一個簡單的Ubuntu容器是這樣的:docker run -it ubuntu /bin/bash
,並創建了容器內的一些文件,然後重新啓動它,但我數據仍然存在。爲什麼實際發生?爲什麼我的數據還在那裏?這是Docker新版本中的新東西,還是我對某些東西有誤解?
無處不在,當我讀到Docker容器,我發現很多的人講,他們失去了他們的數據(保存的容器,而不是容積數據的一部分內),當他們重新啓動容器。爲什麼在重新啓動容器後,我的非卷數據在Docker容器持久性中?
我試圖創建一個簡單的Ubuntu容器是這樣的:docker run -it ubuntu /bin/bash
,並創建了容器內的一些文件,然後重新啓動它,但我數據仍然存在。爲什麼實際發生?爲什麼我的數據還在那裏?這是Docker新版本中的新東西,還是我對某些東西有誤解?
當容器被移除時,而不是停止或重新啓動時,數據會丟失。
基本上,如果你做docker ps
,如果容器保持相同的id(十六進制大丑),數據不會丟失。
時不知何故你搬運工集裝箱不是由您管理就變得複雜,但通過某種自動化,管理方法的。像這樣的工具通常在失敗時啓動新的容器。在這種情況下,您應該安裝一個卷以將數據存儲在主機上。
殺死意味着刪除,或? –
實際刪除。殺死幾乎就像停止一個容器。停止試圖優雅地停止該過程。殺死不。但他們都將容器放在那裏,所以當你輸入「docker ps」時你會看到它們。您可以重新啓動它們,您將看到您創建的文件。另一方面刪除將使容器完全消失,連同其內的所有文件。 – HakRo
你可能想看看容器生命週期:https://github.com/wsargent/docker-cheat-sheet#lifecycle
docker create
創建一個容器,但不啓動它。
docker rename
允許容器被重新命名。
docker run
創建並在一個操作開始的容器。
docker rm
刪除的容器。
docker update
更新容器的資源限制。
如果您再次做docker rm
和docker run
您的狀態將不再存在。
如果您想要一個瞬態容器,
docker run --rm
將在容器停止後將其移除。
這已經很清楚了,但是我想知道他們何時說:「當我們重啓容器時我們丟失了數據」,顯然就像上面的評論,他們的意思是「重新創建」,而不是重新啓動。 –
也許當人們談論「重新啓動」時,他們實際上是指「重新創建」。 –
好吧,我所擁有的是正常的,那很簡單,謝謝你。你會回答這個問題嗎? –