Dockerについて
Dockerとは
以下公式より引用
Docker はアプリケーションの開発、導入、実行を行うためのオープンなプラットフォームです。
Docker を使えば、アプリケーションをインフラストラクチャーから切り離すことができるため、ソフトウエアをすばやく提供することができます。
Docker であれば、アプリケーションを管理する手法をそのまま、インフラストラクチャーの管理にも適用できます。
Docker が採用する方法を最大限利用して、アプリケーションの導入、テスト、コードデプロイをすばやく行うことは、つまりコーディングと実稼動の合間を大きく削減できることを意味します。
メリット
- 作成したコンテナ上でアプリケーションを開発することで開発環境と本番環境を揃えられるというメリットがあります。
- コンテナの構築方法をドキュメントで管理できる。これによって異なるマシン上に同じ環境を素早く構築することが可能。
仮想マシンとの違い
- 仮想マシン
ホストOS上でハイパーバイザを動かす。ハイパーバイザ上にゲストOS、ミドルウェアやソフトウェアを動作させる。 - Docker
ホストOSの上にDocker Engineというソフトを立ち上げ、その上にコンテナというものを作成する。 コンテナの場合はホストOSのカーネルを利用する。軽量で高速に起動、停止が可能
Kubernetesとは
- 簡単にいうと複数のコンテナを管理するサービス。コンテナ間でネットワークやストレージなどの連携を行う。