「コンテナって聞いたことあるけど、なんのことかわからへん〜」という初学者の方は結構いるんじゃないでしょうか。今回はコンテナについて学び、再現化したので、ここに残そうと思います。コンテナについてのイメージがわかない方にも参考になれば幸いです。
コンテナとは・・・アプリケーションを仮想的に環境ごとに独立させて管理するもの。
仮想化の手段の一つ
仮想化との違い
①仮想化・・・コンピュータの環境を丸々仮想化する。負担が大きいというデメリットがある。
②コンテナ・・・あるソフトウェアとそのソフトウェアが動く環境を一つにまとめて仮想化する。
※①仮想化と比べて、ソフトウェア一つに対する仮想化であるため、負担が小さいというメリットがある。
コンテナを使用する理由:
あるアプリを使用するために、別のアプリをインストールしないといけないことがある。それを他のアプリも使用している場合がある。
ex)最初に花子さん(アプリ)がキッチンでガスコンロ(別のアプリ)を使用していた。
後から太郎くん(アプリ)が来て、花子さんが使っていたガスコンロ(別のアプリ)をIHに変更した。
花子さんは太郎くんがガスコンロを IHに変更したため、料理ができなくなった。
↓
そこで、コンテナの登場!!
↓
花子さんにはガスコンロを使用できる環境を
太郎くんにはIHを使用できる環境を
それぞれ用意する。
そうすると双方は別々の環境で料理することができる。
※①仮想化はレストランごと別で用意するイメージ。
これではコストがかなり負担である。。。
別のメリット:
- コンテナの複製が簡単に行える。
- アプリに必要な環境ごとコンテナを複製できる。
(複製時に新たなアプリの環境構築が不要)
- 別のコンピュータにコンテナを移動しても安定して稼働する。
- それぞれのコンテナは互いに独立し、干渉しない。
下記の動画がイメージしやすかったです!
↓
参考解説動画
https://www.youtube.com/watch?v=8RXxBcFu7Ig