Dockerはどのように異なるカーネルのディストロを実行することができますか?
2023-09-25 23:47:48
質問
docker を Debian ホスト、あるいは OpenSUSE のコンテナで実行するにはどうしたらよいでしょうか。異なるカーネルを使用し、モジュールも分かれています。また、古いバージョンのDebianは古いカーネルを使用しているので、カーネルバージョン3.10+でどうすれば実行できますか?古いカーネルには古い組み込み機能しかありません。古いディストロがどうやって新しい機能を管理するのですか? そのトリックは何ですか?
どのように解決するのですか?
<ブロッククオートどのようにすれば、DebianホストやOpenSUSE上でdockerをコンテナで動かすことができますか?
カーネルが同じで、これらのコンテナイメージをすべて実行するために Docker エンジンをサポートするからです。ホストカーネルは 3.10 以上でなければなりませんが、その のリスト システムコール はかなり安定しています。
"を参照してください。 コンテナのアーキテクト。ユーザー空間とカーネル空間を理解することが重要な理由 " を参照してください。
- アプリケーションにはビジネス ロジックが含まれていますが、システム コールに依存しています。
- アプリケーションがコンパイルされると、アプリケーションが使用する (すなわち依存する) システム コールのセットはバイナリ (高レベル言語では、これはインタープリターまたは JVM) に組み込まれます。
- コンテナーは、ユーザー空間とカーネル空間がシステムコールの共通のセットを共有する必要性を抽象化しません。
- コンテナー化された世界では、このユーザー空間はバンドルされ、ラップトップからプロダクション サーバーまで、さまざまなホストに出荷されます。
- 今後数年にわたり、これは課題を生み出します。
時々、新しいシステムコールが追加され、古いシステムコールは非推奨になります。これは、コンテナ・インフラストラクチャとその中で実行されるアプリケーションのライフサイクルを考えるときに考慮すべきことです。
"も参照してください。 Docker コンテナでカーネル バージョンが Ubuntu バージョンと一致しないのはなぜですか? "を参照してください。
コンテナの中にカーネルはありません。たとえカーネルをインストールしたとしても、コンテナの起動時にロードされることはありません。コンテナの目的そのものは、新しいカーネルを実行する必要なくプロセスを分離することです。
関連
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] リポジトリを使用せずに、あるホストから別のホストにDockerイメージをコピーする方法
-
[解決済み] ホストからDockerコンテナのIPアドレスを取得する方法
-
[解決済み] Dockerコンテナのシェルに入るにはどうしたらいいですか?
-
[解決済み] 古いDockerコンテナを削除する方法
-
[解決済み] Dockerでイメージのクリーンビルドを強制する方法
-
[解決済み] Dockerでデータベースなどの永続的なストレージを扱う方法
-
[解決済み] Dockerでコンテナを一覧表示する方法
-
[解決済み】Dockerは仮想マシンとどう違うの?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン