2016-03-29 15 views
0

個別のコンテナをそれぞれ1つ(多かれ少なかれ)で作成したいと考えています。私は、debian:jessie,php7およびapacheのベースイメージを使用していると思われるphp7-apacheイメージを使用しています。この場合、apacheとphpはかなり絡み合っているので、このコンテナを使用しても構いません。コンテナ内のさまざまなイメージ

自分のコンテナに他のサービスを追加したいとします(例えばgitなど)、画像サイズを小さくするために、busyboxまたはalpineboxのような小さなベースイメージを使用することを検討していました。

私は、他のコンテナと同じベースイメージを使用すると、キャッシュされているベースOS(debian jessie)の1回限りのイメージダウンロードのペナルティしか与えられないと読んでいます。他のコンテナはそれらのOSをベースOSの上にダウンロードします。

この場合のベストプラクティスは何ですか?この場合、すべてのコンテナに同じベースイメージ(debian jessie)を使用する必要がありますか?

答えて

0

最初からベースイメージを作成することができます。

あなたは、建物のコンテナの出発点として、ドッカーの予約、最小限の画像、スクラッチを使用することができるドッキングウィンドウのドキュメントからCreate a base image from scratch.

。 Dockerファイルの次のコマンドをイメージの最初のファイルシステム層にしたいビルドプロセスにスクラッチ "イメージ"シグナルを使用します。

ハッカーのDockerのリポジトリにスクラッチが表示されている間に、スクラッチをプル、実行、またはスクラッチという名前の画像にタグ付けすることはできません。代わりに、Dockerfileで参照することができます。たとえば、スクラッチを使用して最小コンテナを作成するには:

この例では、チュートリアルで使用されるhello-worldイメージを作成します。テストしたい場合は、イメージリポジトリを複製することができます

+1

これはOPの場合にどのように役立つかわかりません。彼はすでに 'php7-apache'を使っています。新しいベースイメージを作成しても、' php7-apache'を再作成しない限り、そのイメージのベースイメージは変更されません。もし彼がしたとしても、単に 'debian:jessie'を使っているだけでは利点はありません。 – morxa

関連する問題