Open4

Dockerまとめ

おにおに

サーバ仮想化

分類について大まかに3種類

  • ホスト型仮想化
  • ハイパーバイザー型仮想化
  • コンテナ型仮想化

ホスト型仮想化はホストOSに、ハイパーバイザー型仮想化はハードウェアに直接インストールされる。

コンテナ型仮想化についてはホスト・ゲストOSも存在せず(存在するように見せてる?)また仮想サーバでもないため、非常に軽量で起動コストが他の2種に比べて大幅に少ない。

インストールはホストOSでそれぞれアプリケーションとして管理される。
ただ実際にはOSが存在しないのでホストOSとの分離度が低いという点に注意する。


コメント

ホスト型仮想化のソフトウェアの例でVirtualBoxがあったけど使ってみて確かにと思った。
ホスト型とハイパーバイザー型の違いがいまいち分からなかったけど、ホストOSかハードウェアで管理されているかどうかの違いになるのかな?

デメリットについては多分Linuxカーネルを利用して動いているから、Windowsホスト上では直接動かしたりするのが困難っぽい?

おにおに

Docker基本の要素

  • コンテナ
  • イメージ
  • Dockerfile

コメント

コンテナはホストマシン上で隔離されたプロセスとして実行されるため、これにより他のコンテナやホストシステムと分離されて互いに干渉されることなく動作するみたい。
イメージとDockerFileについてはnpmのシステムと似ているなと感じた(バージョン管理とかpackage.jsonとか)

おにおに

コンテナとプロセスの関係

  • コンテナはある1つのコマンドを実行するために起動している
    • それはデフォルト命令か指定命令のどちらかで、PID が1になる
  • 複数のコンテナのPID=1はLinux のNamespace機能により衝突しない

コメント

コンテナごとにアプリケーションを立ち上げるイメージでいいっぽい?