今回はDockerについてです。
私も使ったことがある訳ではないのですが、仕事で調べる必要が出てきたので
備忘録として書いていきます。
(画像をクリックするとdocker公式サイトに遷移します)
まず、Dockerとは?ですが、超ざっくりまとめると、
「サーバを効率的に活用する為に、OS上に軽量な機能を複数乗せるためのソフト」
です。
主な特徴は以下です。
- 超サイズの小さいアプリケーションの実行環境
- OSS
- LinuxKernelのコンテナ機能を活用、他のプロセスから実行環境を分離
- Hyper-VとかVMwareよりオーバーヘッド小
- 使用するリソースも小
- 導入時間小
- LinuxOSとコンテナの間にDockerEngine(DockerAPI)が入って処理を仲介
(Linuxのコンテナ機能についても別の記事で調べた内容を載せますのでお楽しみに。)
冒頭に少し触れていますが、もちろん、1台のサーバ上(Dokerホストと呼ぶらしいです)で
複数のコンテナ環境を作ることも可能です。
ハイパーバイザ型でいう仮想マシンイメージと同様、Dockerにもコンテナをパッケージ
化できるようで、これを「Dockerイメージ」と呼ぶのだそうです。
超軽量なので、このイメージを配布したり保存したりすれば夢が広がるというやつです。
ここまででもう個人的には腹八分ぐらい行ってしまっていますが、Dockerさんはこれ
だけではありません。
Linuxのみでなく、Windows上でも、Macでも動くようになっていますし、
イメージ管理機能やら、サービス管理やらよく考えるなーという機能が沢山詰まってます。
参考書も割とたくさん出ていて、以下あたりがオススメです。
私ももっと勉強して理解を深めます!
皆さんもご興味があればぜひ!