Dockerとは
仮想化サービス。
データやプログラム(サーバー)を隔離できる仕組み。
Dockerとはコンテナの格納する箱で、コンテナとはデータやプログラムを隔離した仮想環境のこと。
Linux上でのみ動作する。
Dockerとはコンテナを管理するもの。
Dockerのコンテナには「使っては捨てる」という性質がある。
コンテナのライフサイクルは、「作る」→「起動する」→「停止する」→「破棄する」→「作る」...の流れ。
Dockerと仮想化技術の違い
・仮想化技術は物理的なマシンを仮想的に用意している。
CPU、メモリなどの物理的な部品をソフトウェアで補っていて、OSは何を入れても大丈夫。
ホストマシンの機能を利用していないのでホストマシンに依存していない。
・DockerはOS(Linux)機能の一部を持ったもので、足りない他の機能を物理的なホストマシンのOSの機能に頼っている。
頼っている物理的なマシンにもLinuxが必要で、コンテナにもLinuxが必要。
ホストマシンの機能の一部を利用しているのでホストマシンに依存している。
Dockerのメリット
複数の同じ環境を作れる。
サーバーのバージョン管理などがしやすい。
サーバーに詳しくなくても扱える。
カーネルを共有しているのでリソースを節約できる。
イメージを読み込めば開発環境の再構築が容易。