2014-12-03 130 views

回答

1

Docker容器沒有設計成虛擬機,而不是真正的意思的熱份。相反,您應該定義您的容器,使其具有衆所周知的啓動狀態。如果容器停機,備用系統應該從衆所周知的啓動狀態開始。如果需要跟蹤容器在運行時產生的狀態,則必須在Docker外部完成。

一種選擇是使用卷將狀態(文件)掛載到主機文件系統上。然後使用RAID,NTFS或任何其他方式與其他物理節點共享該文件系統。然後,您可以將相同的文件安裝到具有相同狀態的第二個主機上的第二個泊塢窗容器中。

根據您在容器中運行的內容,還可以在容器內聲明共享,例如使用mongo複製集。重申雖然容器尚未設計爲隨運行時狀態遷移。

1

Docker有各種各樣的技術可以提供幫助,具體取決於您需要的高可用性。

如果您只是希望在不同主機上啓動無狀態服務容器,則需要使用網絡覆蓋,如weave

如果您希望跨數據庫故障轉移等方式複製數據,則需要存儲解決方案,如Flocker

如果您想運行多個服務並進行負載平衡,並且忘記每個容器在哪個主機上運行,​​但假設X實例已啓動,那麼Kubernetes就是您需要的工具。

可以使許多Docker相關工具一起工作,我們有a few stories on our blog already