容器化是指將軟件代碼和所需的所有組件(例如庫、框架和其他依賴項)打包在一起,讓它們隔離在自己的"容器"中。 這樣,容器內(nèi)的軟件或應(yīng)用就可以在任何環(huán)境和任何基礎(chǔ)架構(gòu)上一致地移動和運行,不受該環(huán)境或基礎(chǔ)架構(gòu)的操作系統(tǒng)影響。 容器就像是一個氣泡(或者是應(yīng)用周圍的計算環(huán)境),把應(yīng)用和周圍環(huán)境隔離開來。
容器之所以具有"輕量級"或"可移植"的特性,是因為它們能夠共享主機的操作系統(tǒng)內(nèi)核,不需要為每個容器提供單獨的操作系統(tǒng),且允許應(yīng)用在任何基礎(chǔ)架構(gòu)(裸機、云)上運行相同的操作系統(tǒng),甚至在虛擬機(VM)中,有關(guān)詳情請參見下一節(jié)。
同樣,開發(fā)人員在一個主機環(huán)境中使用容器時,可以像在另一個主機環(huán)境中一樣使用相同的工具,如此,在各個操作系統(tǒng)間開發(fā)和部署容器化應(yīng)用就變得更加簡單。