容器

是什麼

容器是由計算機中的作業系統所管理,且具有資源與功能限制的執行中行程。 容器行程內可用的檔案可被打包成一個容器映像檔。 容器在同一台機器上相鄰執行, 但通常作業系統會阻止讓不同容器行程間互相溝通。

解決的問題

在容器技術出現之前,需要單獨的機器來執行不同應用程式。 每台機器都需具備自己的作業系統,因而需要 CPU、記憶體和磁碟空間, 而這些資源都是為了執行一個單獨應用程式。 另外,無論是作業系統的維護、升級或啟動都是額外工作負擔的來源。

如何幫助我們

容器可共享相同的作業系統和機器資源, 分散作業系統的資源消耗,並有效率的使用實體機器的資源。 這樣的能力具備可行性的原因,是因為容器之間的溝通通常都受到限制才能達成。 這樣的方式也允許更多的應用程式在同台實體機器上執行。

然而容器也伴隨著一定的限制。 由於容器共享相同的作業系統,因此行程的安全性可能會較其他替代方案差。 容器還需要限制共享資源的使用。 為了保證資源利用,管理員必須約束和限制記憶體與 CPU 使用率,避免讓其他的應用程式執行效率低落。