‫さて､ 画像に入る前に､ このセクションの内容を説明しましょう｡
‫まず､ 画像の基礎と必要な概念､ そして実際に画像に含まれるもの､
‫またそれと同じくらい重要な､ 画像に含まれないものについて説明します｡
‫次に､ インターネット上で画像を見つける方法について少しお話します｡ そして､ 良い画像を見つけるためのプロセス全体と､
‫ダウンロードしたり自分のマシンで作成したりした後の画像の管理方法について､ 実際に見ていきます｡
‫そして､
‫実際に自分の画像を作るという楽しい部分に飛び込んでいきます｡
‫そこで､ 画像を使って遊んだり､ コンテナに使う方法を学んだりする前に､ 画像には一体何があって､ 何がないのか､
‫ということに踏み込んでみたいと思うのではないでしょうか｡ 私が好きな説明の仕方は､ とてもシンプルです｡
‫アプリのバイナリや依存関係､ アプリの実行方法のメタデータなどです｡
‫しかし､ 公式の定義に従えば､ 「イメージとは､ コンテナランタイム内で使用するための､ ルートファイルシステムの変更とそれに対応する実行パラメータの順序付けられたコレクションである」となります｡
‫「でも､
‫私は自分のバージョンの方が好きです｡
‫この画像の中には､ 実は完全なOSがあるわけではありません｡ カーネルがないんです｡ ドライバのようなカーネルモジュールもない｡
‫ホストがカーネルを提供するため､ アプリケーションが必要とするバイナリは本当にそれだけです｡
‫これがコンテナの特徴であり､ 仮想マシンとは異なる点です｡ 完全なオペレーティングシステムを起動するわけではありません｡
‫本当にアプリケーションを起動するだけなので､ そのイメージは本当に小さいものでいいんです｡
‫1つのファイルでもかまいません｡
‫例えば､ Goを使っている場合､ Goの特徴の1つは､ 静的なバイナリをビルドして､ 1つのファイルをアプリケーションとして持つことができることです｡
‫だから､ それができるんですね｡ あるいは､ Ubuntuのような独自のパッケージマネージャが組み込まれたディストリビューションを実際に使っていて､
‫Apache､ PHP､ ソースコード､ 必要な追加モジュールすべてをインストールした､ 非常に大きなイメージを持つことも可能です｡
‫何ギガバイトあっても大丈夫です｡