Dockerチャレンジ1年生 2
とりあえずwebサーバは動いた〜 という所で色々止まる。悪い癖です。
Dockerの仕組みとか構成はググればいくらでも細かい内容が記事になっているので
頭の中で「そっか〜」で終わります。言語化って難しい。
仮想化
仮想化技術に限れば、VMWareのESXiを前職で触れていました。
Dockerのコンテナ型と言われる方式と、仮想化技術の構成が違うらしい。
触れていたと言ってもVMマシン作って消して設定して、という程度なのでお察しです。
ハイパーバイザー型
ESXiと呼ばれてるやつなど。WindowsやLinuxなどのホスト上に、
(VMWareなら)VMWareKernelというカーネルが構成され、そこで物理リソースの管理などを行う。
(ESXという形式と共通だが、差異はサービスコンソールという管理操作用のUIを
提供するOSの有無で、ESXiはそれがないため仮想化を支える技術にかかるサイズが小さい)
そのカーネル上に更に独立した仮想マシンイメージを乗せるイメージ。
ホストマシン上に仮想化専門のOSがいて、その中で仮想マシンが独立して立ち上がる感じ。コンテナ型 ホストOS上にコンテナエンジン?を載せ、一つのOSを区切って共有した仮想イメージが可動する…?
仮想マシンが自身のOSを個別に可動させる必要が無いため軽量。 ホストマシン上に仮想化専門のアプリケーションを載せて、そいつが一つのOSを共有管理し、
各コンテナとして分けた領域でイメージが動いている?感じ?
(語彙力=理解力)
イメージ
省略部分も含めチャレンジその1で書いた作業としては、
- ホストマシン(mac)内にdockerをインストールする(コンテナエンジンが動く)
- containerコマンドから、起動させるイメージを指定する 現在イメージはローカルに存在しないので、docker hubからダウンロード
- ダウンロードしたイメージからコンテナーを作成・起動
この時のイメージ・コンテナーというのが、OSを共有しつつ可動する仮想マシンイメージ。
であってる…?