Docker 镜像中的 glibc 如何在不同的容器主机内核中存活?

Ove*_*erv 4 glibc portability docker

Docker 容器共享主机的内核,但它们确实包含自己的应用程序和库。glibc 是这些库之一是否正确?

如果是这样,为什么 glibc 与实际容器主机运行的任何内核版本都不兼容?

v6a*_*6ak 6

在考虑应用程序时,Linux 内核与二进制兼容。如果您看到不兼容,则很可能是由

一种。CPU 架构不匹配(显然与内核版本无关)或

湾 图书馆问题。应用程序通常依赖于一些库。如果其中任何一个丢失或不兼容,则该应用程序可能无法运行。

当然,内核中有一些 API/ABI 可能会因版本而异,因此理论上可能会发生内核不兼容。它只是不经常发生......

内核模块是一个不同的故事,跨版本的兼容性级别 AFAIK 相当低。但是你不需要 glibc 的内核模块......