【Docker使えるようになりたい】【#3 用語解説】Image(イメージ)について

imageとは何か

イメージとはコンテナを作成するための部品をまとめたものだと考えてください。

コンテナの中身にある以下のようなもの

  • ファイル
  • ソフト(ツール)
  • 環境の設定
  • etc…

つまりは、「コンテナを生成するために必要な部品」を1つにまとめたのが「image」になります。

なので、コンテナ内に入っているファイルの容量が大きく、ソフトが増えたりすると、当然そのコンテナを再現するための部品を詰め込んでいるimageは大きくなっていきます。

なぜコンテナだけではだめなのか

実世界ではコンテナに入れた荷物はコンテナのまま運ばれます。
しかし、コンテナは到底人間1人が持って運ぶことはできないほど重量があり、クレーンで動かして船や電車などで運びます。

Dockerの世界のコンテナも同じで、一度コンテナを作ってしまうと運べないことはないが、運ぶのは大変になってしまいます。

なので、現実世界ではできない、デジタルの世界だからできる手法として、「コンテナを構成している部品を状態をある程度維持してまとめ」、それをコピー先の環境で再度コンテナとして組みなおすことで、まったく同じものを再現するという手法がとられています。

Imageのまとめ

では、imageについてまとめて解説を終わりにします

  • コンテナはあくまでシステムを外部の環境から切り離して動作させるための箱であり、移動については現実世界でも同じように簡単にはできない
    • なので、imageという同じ状況のコンテナを生成する部品をまとめたファイルを使ってコンテナの移動(コピー)や保存を行う
  • imageを使うことで移動(コピー)や保存をより手軽にできるようになる
    • スナップショットとしても使える(コンテナのimage生成時の状態を保存するので、imageを、「コンテナ内で変更がある」前と後で2つ作っておくことで環境を巻き戻すこともできる)

発展

さらに、「イメージ」について理解をしたい方は以下の記事がおすすめです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA