Open4
Dockerまとめ
ピン留めされたアイテム
上記で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機能により衝突しない
コメント
コンテナごとにアプリケーションを立ち上げるイメージでいいっぽい?