Dockerイメージのglibcは、他のコンテナホストカーネルでどのように維持されますか?

Dockerイメージのglibcは、他のコンテナホストカーネルでどのように維持されますか?

Dockerコンテナはホストシステムのカーネルを共有しますが、独自のアプリケーションとライブラリが含まれています。 glibcはそのようなライブラリの1つです。そうですか?

それでは、実際のコンテナホストが実行されているカーネルのバージョンと互換性がないglibcの問題がないのはなぜですか?

答え1

アプリケーションを考慮すると、Linuxカーネルはかなりバイナリ互換です。非互換性を発見すると、次の理由で発生する可能性が高くなります。

ㅏ。 CPUアーキテクチャの不一致(カーネルバージョンとは関係のないようです)または

b.ライブラリの問題。アプリケーションは通常、いくつかのライブラリによって異なります。これらのいずれかが存在しないか互換性がない場合、アプリケーションが実行されない可能性があります。

もちろん、カーネルの一部のAPI / ABIはバージョン間で変更される可能性があるため、理論的にはカーネルの非互換性が発生する可能性があります。それは頻繁に起こるものではありません...

カーネルモジュールは別の話です。私が知っている限り、バージョン間の互換性レベルはやや低いです。しかし、glibcカーネルモジュールは必要ありません。

関連情報