イラストでわかるDockerとKubernetes
https://gyazo.com/7990f79deb1d542df31b7b99c3848fb0
本書の対象はコンテナ技術を初めて触る人。DockerやKubernetesの概要と基本的な仕組みについて解説している。
コンテナランタイム
ランタイム、は直訳すると「実行+時」で実行時。その意味で使われることもあるけど、多くは「実行時に必要なもの」の意味で使われる。Javaランタイム=Javaのプログラムを動かすときに必要な部品、みたいな感じ。
「ランタイムライブラリ」とか「ランタイムモジュール」の省略形として定着している(?)みたい。
で、コンテナランタイムはなにかというと、コンテナ実行時に必要なものたちってことになる。本書で取り上げるのはruncというコンテナランタイム。コンテナランタイムとしてDockerにももちろん触れているが、そのDockerが内部ではruncを使っているということで、コンテナランタイムの標準仕様の概要の章で詳細の解説がある。
何気なく見つけた記事、本を読んだ後だとめちゃくちゃよくまとまっているのがわかる。
ていうか記事の執筆者と著者が同じ名前(苗字違い)なので同一人物かと思ってしまった。。。
と思ってたら次に開いた記事も例の苗字違いの同じ人。しかも引用している図が一緒だぞ。やはり同一人物か。
やばーい!「コンテナランタイム」の検索結果、ほぼこの人じゃん!
runcは元々Docker社が開発したコンテナ実行機能。コンテナ技術仕様の標準化にあたってコンテナ実行機能libcontainerを切り出して「runc」と改名して公開し、コンテナランタイムのレファレンス実装としてOCIに寄贈した。実行中のコンテナのライフサイクル管理やコンテナイメージの管理、ネットワークの管理などを担うDockerのコア機能も「containerd」として別で開発が進むことになりDocker社から切り離された。