【コンテナディー】
containerd とは?
💡 コンテナを動かす裏方の仕事人
📌 このページのポイント
- Docker社が開発し、CNCFに寄贈されたオープンソースのコンテナランタイム
- Kubernetes v1.24以降はDockershimが廃止され、containerdが標準ランタイムに
- コンテナのプル・起動・停止・削除といったライフサイクル全体を管理する
- CRI(Container Runtime Interface)に準拠しており、Kubernetesとシームレスに連携
containerdって、Dockerとは違うの?
なんでわざわざ分かれているの?
関心の分離だね。Kubernetesのような他のツールがDockerなしでもコンテナを動かせるように、コアのランタイム部分を独立させたんだ。実際にKubernetesはv1.24からDockerを介さず直接containerdを使うようになったよ。
CRIっていうのも関係あるの?
CRIはKubernetesがコンテナランタイムとやり取りするための共通インターフェースだよ。containerdはCRIプラグインを持っているから、Kubernetesと直接つながれるんだ。
普段の開発で意識する必要はあるの?
普通のアプリ開発では意識しなくて大丈夫だよ。ただしKubernetesクラスタの運用者や、コンテナのパフォーマンスチューニングをする場面では、containerdの設定を理解していると役に立つんだ。
まとめ:ざっくりこれだけ覚えればOK!
「containerd」って出てきたら「コンテナを実際に動かすエンジン部分」と思えればだいたいOK!
📖 おまけ:英語の意味
「containerd」 = コンテナのデーモン
💬 container + d(daemon)で、バックグラウンドで動くコンテナ管理プロセスという意味だよ