コンテナ
概要
コンテナはOSカーネルが持っているプロセスの環境を隔離する技術によって実現されている
コンテナ≒プロセス
様々なリソースが隔離されたプロセス
環境ごと持ち運ぶ
コンテナ→環境依存問題を解決→配布が簡単確実
コンピュータを抽象化する
CPU、メモリ、ネットワークなどのリソースを制限してプロセスを実行することが可能になった
Low Lelel Runtime(OCIランタイム)
Hight Level Runtime(CRIランタイム)
https://gyazo.com/f559f06831d99095d16982bb910a146e
複数ホスト上でコンテナを管理するのが難しい
→オーケストレーションツールの登場(Swarm, ECS, K8S
https://gyazo.com/8042473906e0d3130eac54802bc6ad4d
コンテナを実現する技術
chroot
プロセスのルートディレクトリが指す先を変更
プロセスから操作可能なリソースを隔離
プロセスの使用可能なリソースの設定
コンテナとは何か?の原則
Standard Containersとして定義
https://gyazo.com/e17903a0018c88aebfcb279a601fc035
分野での利用
アプリケーションのデプロイの頻度を高めることができる
開発力の向上
めちゃくちゃに多くの多種多様なデバイスが登場
環境問題が発生しやすい→コンテナで解決
ML
学習する毎にモデルが変わる→デプロイしなおさなければいけない→コンテナで解決