![](/img/trans.png)
[英]Communication between Windows Host and Linux Docker Container
[英]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.