[解決済み] dockerのホストOSとコンテナのベースイメージOSの関係を教えてください。
質問
私は正しい質問をしているかどうか確信が持てません...しかし、私が手に入れることができるすべてのドッカーを読んでいる間、私はUbuntu 12.04 (例) にDockerをインストールすることができ、それから私はFedoraコンテナまたは異なるバージョンのubuntuをインストールできることを見ました?(ユーザーがコンテナにbusyboxをインストールした例があります。)
そしてもちろん、私は完全に間違っているかもしれません。
しかし、ベースシステムとコンテナの間にエフェメラルな接続があることは、私の予想通りです。
再掲:ホスト OS とコンテナのベースイメージの OS の間にはどのような関係があるのでしょうか?
どのように解決するのですか?
BraveNewCurrencyが述べているように、ホストOSとコンテナの関係はKernelのみです。
これは、docker と「通常の」仮想マシンの主な違いの 1 つで、オーバーヘッドがなく、すべてがホストのカーネル内で直接行われます。
これが、コンテナ内でLinuxベースのディストリビューション/バイナリのみを実行できる理由です。他のものを実行したい場合は、不可能ではありませんが、コンテナ内で何らかの仮想化 (qemu、kvm など) を行う必要があります。
Dockerはファイルシステムの表現であるイメージを管理します。任意のLinuxディストリビューションをインストールしたり、単にバイナリを置いたりすることができます。
確かに、この例では便宜上、ベースとなるイメージに頼ることが多いですが、ディストリビューションのライブラリやバイナリを一切使わないイメージを作成することもできます。そうすれば、本当に小さいけれども機能的なコンテナができるはずです。
カーネルはまだホストのカーネルなので、ディストリビューションによって提供される特定のカーネルモジュール/パッチはありません。
関連
-
[解決済み] Dockerfileの'COPY'と'ADD'コマンドの違いは何ですか?
-
[解決済み] Dockerコンテナの中から、マシンのローカルホストに接続するにはどうすればよいですか?
-
[解決済み] Docker Dockerコンテナからホストへのファイルコピー
-
[解決済み] DockerfileのCMDとENTRYPOINTの違いは何ですか?
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] ホストからDockerコンテナのIPアドレスを取得する方法
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Docker Compose: そのようなイメージはありません
-
[解決済み] docker イメージの sha256 コードはどこで確認できますか?
-
[解決済み] Docker compose、net:hostでコンテナを実行する。
-
[解決済み] docker login unknown shortorthand flag: 'e'
-
[解決済み] Dockerです。dockerコンテナでnanoを実行する
-
[解決済み] Dockerの実行と作成
-
[解決済み] Docker-compose マウントされたボリュームにユーザーとグループを設定する
-
[解決済み] Linuxでdockerを停止する方法
-
[解決済み] Docker CMDを複数回使用して、複数のサービスを実行することができないのはなぜですか?