1

私は Docker を理解し始めています。私が知る限り、docker コンテナーはコンテナーがインストールされているデフォルトの Linux ディストリビューションで実行されます。私の場合は、docker ツールボックスに付属する Mac OS X 軽量ディストリビューションです。

では、実際に多くの Docker ファイルがコンテナー内にディストリビューションをインストールしているのを目にするのはなぜですか。

たとえば、以下で始まる 1 つの Docker ファイルを次に示します。

    FROM debian:jessie

これは、Debian ベースのコンテナー内に Docker イメージをインストールすることです。

たとえば、Ubuntuを使用している他の多くの人も見ています。

このステップをバイパスできず、コンテナに直接インストールされたソフトウェアは、コンテナがインストールされている下線付きの Linux ディストリビューションを使用できますか?

4

1 に答える 1

1

物理マシンや仮想マシンと同様に、ディストリビューションがないとユーザーランド環境をセットアップするのが面倒になるからです。

これは、IMO によると、docker の強力な利点の 1 つです。特定のアプリケーションに最適なディストリビューションを選択できます。

コンテナー化されたアプリケーションには、おそらく依存関係があります。これらの依存関係をインストールするには、パッケージ マネージャーが非常に役立ちます。多くのディストリビューションにはデフォルトでいくつかの依存関係も含まれているため、コンテナーの作成者 (アプリケーション) が独自のディストリビューションを選択することをお勧めします。

さらに、ディストリビューション全体をパッケージ化しても、必ずしも多くのリソースが浪費されるわけではないことに注意してください。

  • Docker イメージは、共通のベースラインに対するデルタとして保存されます。つまり、ベースラインに基づく 2 つのイメージdebian:jessieが同じデータをベースラインに再利用できます。
  • ディストリビューションは通常、完全なシステム イメージの縮小版であるため、実際にはそれほど大きくありません。

本当に最小限の画像を作成したい場合は、 を試してくださいbusybox。ただし、実際のコンテナ イメージでは、非常に急速に大きくなってしまうことがよくあります。

于 2015-09-29T20:13:54.970 に答える