2017-10-07 60 views
2

我在許多書籍和文獻[1] [2]中讀到,碼頭集裝箱或吊艙被認爲是一次性的並且壽命短。爲什麼他們被認爲是短暫的?在這種情況下,如何在生產中運行一個集裝箱化的應用程序?爲什麼碼頭集裝箱或kubernetes-pod被認爲是一次性的?

此外,不要將兩個術語一次性容器和不可變容器的意思一樣嗎?

[1] https://kubernetes.io/docs/concepts/workloads/pods/pod-overview/
[2] https://developers.redhat.com/blog/2016/02/24/10-things-to-avoid-in-docker-containers/

回答

2

此外,在兩個術語一次性容器和不可變的容器意味着同樣的?

不可變的手段一旦創建就不能改變。就你的問題而言,一次性的,意味着它可以被銷燬並被替換爲很小的後果。

這些東西是不一樣的,但他們在一個典型的集裝箱應用程序一起運行。你將運行一個不可變的容器,當你想改變容器的行爲時,你可以用一個新的容器替換它,而不是試圖改變現有的容器。

這比像一個虛擬機,在那裏,如果你想改變你的應用程序的行爲,你將部署代碼更新並重新加載服務或類似的不同。

爲什麼他們認爲是如此短暫?

的容器是一個過程。一個過程是短暫的。容器是短暫的。 Containers are able to persist data separately though

一個如何可以運行在生產

集裝箱化的應用如果在生產中使用的容器您掛斷,可以改寫「你怎麼可以運行在生產集裝箱化的應用程序沒有狀態?」,那麼我首先會說並非所有的應用程序都是有狀態的。例如,一個基本的Web服務器,或許多精心設計的微服務。

對於有狀態的應用程序,沒有什麼可以阻止你使用一個共同的數據庫來支持你的應用程序集裝箱。如上所述,您也可以使用卷。您可以將兩者結合起來,並使用數據庫容器下的捲來運行集裝箱式數據庫。國家並不是一個真正的問題。

+0

我明白了!容器是一次性的,因爲不應該直接對容器進行更改(重新啓動容器後容器層的更改將會消失)。因此,人們應該重建集裝箱,儘管摧毀並更換新的集裝箱 – alixander

相關問題