業務内でDockerを使うことになったのですが、Dockerという名前しか知らずどういうものなのかというところから調べました。
この記事ではDockerとは何かについて説明をしていきます。
Dockerとは何か
コンテナ型仮想化ができちゃうやつです。
そもそもなぜ仮想化するの?
プログラムコードの共有はGithubやBitbucketを使うことで円滑にできる。一方でプログラムの実行環境は…
開発者が使用しているコンピュータはOSやソフトウェアなど人によって違うので
プログラムの実行環境を共有しない場合コードを正常に共有できたとしてもプログラムが正常に動作しないことがある。
こんな「ムムム…」な時に役に立つのが”仮想化”
フラットな仮想マシンを作成し、その設定内容を共有することでプログラムの実行環境を揃えることができる!
仮想化とは
自分のPCのOSの上に仮想のPCを起動すること。仮想化にはホスト、ハイパーバイザー、コンテナの3タイプがあります。
ホスト型
ホスト型はハードウェア(サーバ)の中にOS上に土台となる仮想化ソフトウェアをインストールし、仮想化ソフトウェアで仮想マシンを稼働させる方法。
ハイパーバイザー
ハイパーバイザーとは仮想化のためのOSのようなもので、サーバにインストールし、そのOSの上で仮想マシンを稼働させるような方法。
コンテナ
コンテナは「アプリケーションを実行するための領域(ユーザ空間)を複数に分割して利用する」もの。コンテナはアプリケーション実行環境を仮想化する。
以上の3種類のなかでもDockerはコンテナ型の仮想化をしているといえます。
コンテナ型の仮想化をするメリットとしては必要最小限のCPUやメモリしか使用しないので
負荷が小さく高速な動作が実現可能という点があります。
参考・引用



