目次
- Dockerとは
- Dockerのメリット①
- Dockerのメリット②
- Dockerのメリット③
- Dockerのメリット④
- コンテナ型と仮想化マシンの違い
- まとめ
Dockerとは
「コンテナ型の仮想環境を手軽に構築するためのもの」
Dockerでは、OSやミドルウェアの種類・バージョン・各種設定をDockerfileと呼ばれるコードで管理しており(IaC1)、Dockerfileを元に仮想環境(コンテナ)を作成することができる。
Dockerのメリット①
「どのコンピュータ上でも全く同じ環境を作成することができる」
コンピュータのOSに依存せず同じ環境を作成できるため、「Windowsを使用しているAさんの環境では動作するが、Macを使用しているBさんでは動作しない」といったことがない。
また、開発チームのメンバーが同じDockerfailを元に環境を作成することにより、メンバー間の開発環境の差異をなくすことができる。
Dockerのメリット②
「環境設定の再利用・バージョン管理・配布が容易」
環境設定がコード(Dockerfail)で管理されているため、設定の一部を書き換えたり、Gitでバージョン管理を行うことが容易である。
また、開発チームに新しいメンバーが加入した際に、手順書を見ながら1から環境を作成する必要がなく、配布されたDockerfileからコンテナを作成することで手軽に開発環境を作成することができる。
Dockerのメリット③
「クラウド上に自動でサーバを構築することができる」
Dockerfileから作成したコンテナイメージ2を使用することで、自動でクラウド上にサーバを構築することができる。
それにより、クラウド上のGUIから環境設定を行う必要がなくなる。
Dockerのメリット④
「Docker Hubで公開されているコンテナイメージを使うことができる」
Dockerfileを1から記述する必要がなく、予め用意されたコンテナイメージを使用することができる。
(ubuntu、centOS、NGINX、Apache、node、MySQLなど)
また、公開されているコンテナイメージをベースに独自の設定を追記することもできる。
コンテナ型と仮想化マシンの違い
【コンテナ型】
ホストOSのカーネルを利用して、あたかもゲストOSがあるかのように仮想環境を作り上げているもの。
メリット:軽量で高速に仮想環境の起動・停止ができる。
【仮想化マシン】
仮想化ソフト上にゲストOCを構築しているもの。
まとめ
Dockerとは、「コンテナ型の仮想環境を作成・配布・実行するためのもの」である。
Dockerを使用することで以下のメリットがある。
①どのコンピュータ上でも全く同じ環境を作成することができる
②環境の設定がコード化されているため、再利用・バージョン管理・配布が容易
③クラウド上に自動でサーバを構築することができる
④Docker Hubで公開されているコンテナイメージを使うことができる
参考文献