正しい質問をしているかどうかはわかりませんが、入手できるすべての docker に関する情報を読んでいると、Ubuntu 12.04 (例) に Docker をインストールして、Fedora コンテナーまたは別のバージョンの ubuntu をインストールできることがわかりました (ユーザーがコンテナーに busybox をインストールした例があります)。
もちろん、私が完全に間違っている可能性もあります。
しかし、ベース システムとコンテナーの間には一時的な接続が存在すると予想されます。
言い換えると、ホスト OS とコンテナ ベース イメージの OS の関係は何ですか?
ベストアンサー1
BraveNewCurrency が述べたように、ホスト OS とコンテナ間の唯一の関係はカーネルです。
これは、Docker と「通常の」仮想マシンの主な違いの 1 つであり、オーバーヘッドがなく、すべてがホストのカーネル内で直接実行されます。
このため、コンテナ内では Linux ベースのディストリビューション/バイナリのみを実行できます。他のものを実行したい場合、不可能ではありませんが、コンテナ内で何らかの仮想化 (qemu、kvm など) が必要になります。
Docker は、ファイル システム表現であるイメージを管理します。任意の Linux ディストリビューションをインストールしたり、単にバイナリを配置したりできます。
実際、この例では便宜上、ベース イメージを使用することが多いのですが、ディストリビューション ライブラリやバイナリを一切使用せずにイメージを作成することもできます。そうすれば、非常に小さいながらも機能的なコンテナーができます。
ディストリビューションに関するもう 1 つのポイント: カーネルは依然としてホストのカーネルであるため、ディストリビューションによって提供される特定のカーネル モジュール/パッチはありません。