企業を色々調べていると
至る企業でDockerという言葉が出てきてなんだこれは!?となっていました。
なので一度しっかり調べてみました。
##Dockerってなに?
Docker社が提供する、
コンテナ型の仮想環境を作成、配布、実行するためのプラットフォームのこと。
ここで、コンテナ型?仮想環境・・??とハテナが浮かんだので、
再度調べ直してみました。
##仮想化ってなに?
PCの中に仮想PCを起動するというのが仮想化です。
もう少し詳しく書くと、
従来の仮想化はホストOS上に仮想化ソフト/ハイパーバイザを使用して、
仮想マシン/ゲストOSを立ち上げ、
その仮想マシンの中でミドルウェアの環境構築をし、
プログラムを実行してアプリケーションを動かすという構造になっている。
(色々図解してくれている記事などもあり、とても頭に入ってきやすかったです)
→つまり、仮想化のメリットって物理的にマシンの設置台数を節約出来ますし、
管理の作業効率を高めることができる。
##Dockerのメリットとは?
仮想化について調べていると、
仮想化だけで十分便利なのでは?と思ったのですが、
Dockerについて改めて調べて見るとDockerの方が良いのでは、となりました。
上には上にがいるな・・という気持ちです!
→なぜかと言うと、
Dockerが提供するのはコンテナ型仮想化です。
従来のホスト型仮想化とは異なり、ゲストOSを起動せずに、
ホストOSの上に動作しているDockerEngineからコンテナと呼ばれる
ミドルウェアの環境構築がされた実行環境を作成し、
その中でアプリケーションを動作させることが出来ます。
→つまり、圧倒的に軽量に動作させることができるのがコンテナ型仮想化。
##メリットをもう少し詳しく
仮想化によって実行環境を共有することはできるけど、
従来のホスト型仮想化では、動作が重く共有するファイルも軽量とも言えないらしく・・
Dockerのコンテナ型仮想化は、軽量な動作と環境ファイル共有を実現しているとのこと。
プログラムの実行環境を管理するための仕組みとしてDockerがあり、
それを共有するための仕組みとしてDockerHubなどのサービスがある。
Dockerを使用することの一番のメリットはソフトウェアの実行環境を、複雑な構造でも、
Dockerを使って管理することで、簡単にどんなマシンにでも共有できるというところです!
##終わり
Dockerって本当に便利なんだなぁと思いました。
Dockerとはについては一通り調べたので、
インストール方法や使用方法についても調べようと思います。