2017-10-07 161 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

相关问题