コンテナ
読み
こんてな
意味
- アプリケーションと動作に必要なライブラリ・設定ファイル・依存関係をまとめてパッケージ化した軽量な実行環境
- ホストOSのカーネルを共有しながらプロセスを隔離する技術で仮想マシンより軽量で高速に起動できる
- Dockerが代表的な実装でKubernetesなどのオーケストレーションツールと組み合わせて大規模なシステムで活用される
比喩
お弁当箱のようなもの。料理と食器を一緒に持ち運べるパッケージでどこで開けても同じ内容が楽しめる。
語源
container = 容器・入れ物。海上輸送のコンテナのように中身を標準化された箱に詰めて運ぶイメージから命名
例文
- Dockerコンテナでアプリケーションをパッケージ化し開発環境から本番環境まで同じイメージでデプロイした
- Kubernetesで複数のコンテナをオーケストレーションし自動スケーリングと自己修復機能を実現している
- マイクロサービスアーキテクチャで各サービスを独立したコンテナとして実行しデプロイの柔軟性を向上させた
よくある勘違い
- コンテナと仮想マシンを混同すること → コンテナはOSカーネルを共有するため仮想マシンより軽量で高速
- コンテナは完全に隔離されていると思うこと → カーネルを共有するため仮想マシンほどの隔離性はない
- 1つのコンテナに複数のアプリを詰め込むこと → 1コンテナ1プロセスの原則に従うべき