コンテナ環境についての簡単なメモ
コンテナとVMの違い、その他学んだことの記録
コンテナ駆動原理
ホストOSのカーネルを共有しながらプロセスと同じように隔離する方式
それでは、カーネル互換性がない場合は?
当然実行されないのが普通、しかし、mac、windowなどで稼働が可能な理由は、vm layerが追加されるから。
Windowsにdocker desktopをインストールする時wsl2をインストールしろと言う理由。MSのLinux VMをインストールしないと、そのレイヤベースのコンテナが動作しにくいからだと思われる。
カーネルバージョンで問題が発生してもクラッシュが発生する可能性がある(バージョンの違いにより存在しない機能を使おうとするなど)
結論
カーネルタイプが一致し、機能サポートに問題がなく、cpuアーキテクチャが一致しなければコンテナを稼働することができません。
VM
Hypervisorを使った独立実行、カーネルを別に使う。bare-metal / hosted方式があり、私たちが使うのはだいたいホスト型、OSの上にハイパーバイザーが上がるため、パフォーマンスの損失がある。
ボリュームバインディング。
データの永続性を保つために使用、ホストマシンの特定のディレクトリをマウントする方法で処理される。Linuxネイティブではvfsに直接記録する方式であり、他のOSの場合は内部仮想ネットワークを燃やす方式で比較的遅い場合がある。
ウィンドウズでchmodを無視する理由。
WindowsではACL(Access Control List)を活用した権限管理を行い、chmodの方式を理解していない。
댓글 작성
게시글에 대한 의견을 남겨 주세요.