docker 容器會掛嗎?docker容器有可能會掛掉,比如 docker run 啟動的容器掛掉。對于容器掛掉我們最擔心的莫過于數(shù)據(jù)問題,下面來舉例說明。
在某個系統(tǒng)中,功能性的服務使用 docker stack deploy xxx 啟動,某個數(shù)據(jù)庫的服務單獨使用 docker run xxx 啟動,數(shù)據(jù)庫服務沒有將存儲的位置掛載出來;結果重啟了服務器,再登錄到服務器重啟服務的時候,發(fā)現(xiàn)之前數(shù)據(jù)庫里的數(shù)據(jù)可能會消失(如果再使用 docker run 啟動的話)。
解決辦法1
數(shù)據(jù)丟失,一般最直接的想法是重新倒騰一次數(shù)據(jù),但這樣工作量很大。下次再啟動的時候,把存儲掛載到硬盤。不過也還有一個更為簡單的方法。
解決辦法2
可以使用 docker start container_name 再次將容器啟動,這樣的話數(shù)據(jù)還在。不過這也只是個臨時的解決辦法。
docker啟動的鏡像,如果不將數(shù)據(jù)映射出來的話,會存儲在默認的volume;即使用docker restart xxx重啟容器,那變動的數(shù)據(jù)也還是在的。
也就是說,在這個地方服務器重啟了,容器掛掉了(使用docker ps查看,其容器狀態(tài)是exited),但其實之前的數(shù)據(jù)還會在默認的volume下,只有刪除掉容器的時候,變動的數(shù)據(jù)才會丟失。
其實最好的辦法,就是將容器的存儲目錄掛載出來。另外,一般來講,數(shù)據(jù)庫服務不應該使用容器啟動。
西部數(shù)碼的容器云產(chǎn)品是基于docker技術實現(xiàn),擁有上萬linux鏡像,靈活強大,可彈性擴展,自由輕松搭建私有網(wǎng)絡,可做集群服務。性價比高,容器云產(chǎn)品購買鏈接 https://www.west.cn/paas/container/