Docker メリット、デメリット

はい、こんばんは。

Dockerについて少し勉強したので、アウトプットさせていただきます!!

Dockerとは?

Docker社が提供している、コンテナ型のアプリケーション実行環境のことです。コンテナ型の仮想化を利用して、環境構築をするといったイメージでしょうか。仮想化には、Vagrant+VirtualBoxのを用いて仮想化する方法と、Dockerを用いて仮想化する方法があります。

DockerはホストOSのカーネル(OSの核となる部分で、プログラムを実行する役割を担う)を利用してアプリケーションを実行します。

つまり、ホストOSを立ち上げると同時に、Dockerも立ち上がるため非常に動きが早いのが特徴です。以下にDockerを使うメリット、デメリットをまとめてみます。

メリット

・動きが早い(ホストOSのカーネルを使用しているため)

・必要な情報は全てDockerイメージにまとまっているため、環境が変わっても正常に動く

・チーム開発向き

メリットとしてはとにかく軽量で、使い勝手が良いのがDockerです。Dockerイメージに必要な情報を記載しておくと、全てのホストで同じ環境が再現できるので、どこで作業しても正常に動きます。また、ローカル、ステージング、本番でも同じ環境を作り出すことができるので、「私のパソコンでは正常に動いていたのに・・・おかしいな??」ということが無くなります。これは使わない手はないな!!と感じます。スクールでの開発で一番苦労したのは、自分のホストでは動くのだけど、本番にあげるとJavaScriptが動かない・・・・というものでした。これを解決してくれると無駄なところに時間をかけずにすみ、開発に専念できそうです。

デメリット

優秀なDcokerにもデメリットはあります。

・カーネルを共有できないOSでは使用できない

・分離レベルが低い(セキュリティ面で心配)

DockerはホストOSのカーネルの1プロセスとして起動してくれます。しかし、windowsとLinuxのように、カーネルを共有できないパソコンでは使用できません。Vagrant+VirtualBoxをもしいた開発では動きが重い分、任意のOSを仮想環境にインストールして使用するので、心配無用です。また、カーネルの1プロセスとして動作するため、セキュリティ面での心配があるようです。

Dockerを使う上でのメリット、デメリットを簡単にまとめてみました。

今後は実際に使ってみて、アウトプットしていきます!!

それでは!!

コメント

タイトルとURLをコピーしました