簡體   English   中英

Docker容器和Linux主機之間是否匹配?

[英]Matched between Docker container and Linux host?

Docker容器可以托管在Linux機器上,但是我想從下面的矩陣中確定哪種容器可以放在特定的主機上:

                   kernel-version distro-type parity-check

host               x              y

container-type-A   x              y           ok
               B   < x            y           ok
               C   > x            y           ?
               D   x              z           ?
               E   < x            z           ?
               F   > x            z           ?

我可以推斷A型和B型的奇偶性,但是其余的呢?

(我知道容器共享主機內核,並且容器基礎映像本質上是從發行版中提取的文件系統,甚至是自己創建的。)

容器看不到主機或不在乎主機上的發行版,因此整個列都無關緊要。

如果容器中的應用程序需要您正在運行的內核中沒有的內核功能,則為“ n”,否則為“ y”。

實際上,在主機上運行的所有容器都在使用基礎主機的內核。 因此,容器的內核在大多數情況下都無關緊要(在您依賴於內核的某些特定行為的情況下,可能會很重要。請參見示例2)。

范例1:HOST OS:Ubuntu 14.04.1(內核3.13.0-45)容器映像:例如CentOS 5.11,RHEL 5.11(容納內核2.6.18-398)

(CentOS 5.11的)容器中執行的任何進程實際上將在基礎內核3.13.0-45的上下文中運行!

沒有為容器運行單獨的OS /內核(在上述情況下,內核2.6.18-398根本不運行)。

這實際上是您的容器立即啟動(不運行任何其他內核)的原因。該過程是在基礎內核的上下文中產生的,並且可以在主機OS上運行的頂級命令中看到。

示例(#2):容器很可能無法工作的情況:您正在嘗試使用容器中的某些特定內核模塊,這些模塊在基礎內核中不可用!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM