2016-10-18 4 views
4

Webサーバーとしてnginxという単純なWebアプリケーションがあります。私はgrunt(ノードモジュール)を使って私の資産を生産用に準備しています(縮小など)。 これで、ビルドタスクを独自のコンテナで実行するか、1つのコンテナで十分かどうかが分かりました。最高の理由ですアプローチビルドタスクのために追加のドッカーコンテナを用意することはよい習慣ですか?

+0

あなたにも配備されたアプリケーションでのイサキを必要とするか、それが唯一のビルド時の依存関係ですか? – R0MANARMY

+0

@ R0MANARMYはビルド時間依存のみです。 – smiggle

答えて

5

は良い習慣です - それはあなたの最終的なアプリの画像を使用して、アプリケーションを実行するために必要なものだけ、クリーンで、最小限の機能セットを有することを意味します。これは、より重要なことに、より小さな攻撃面を持つ小さな画像を作ります。ここでは、そのことを書いています。それはthe Docker Builder patternと呼ばれています。一緒にあなたがチェーンに持っていないビルドまたは複数の画像の複数のバージョンを管理する -

また、あなたのアプリとビルドツールが含まれている単一のイメージを持つことの利点は、開発中に、管理オーバーヘッドを減らすことです。しかし、攻撃の可能性の高い最終的なアプリケーションを増やすことにはコストがかかりません。

3

一つの容器で十分です。単一のマシン上で動作するコンテナは、同じオペレーティングシステムカーネルを共有します。したがって、複数のコンテナで同じビルドを実行する場合は、メンテナンスが問題になる可能性があります。できれば、いつでも別の画像を作成することができます。各成功ビルド後にスナップショットを保持することをお勧めします。ビルドと完成アプリのために別々の画像を持つ

+0

ありがとうございます。私はDocker Builderパターンのアイデアが好きですが、最小限できれいなアプリイメージがあるように思います。 – smiggle

関連する問題