コンテナ技術入門 - 仮想化との違いを知り、要素技術を触って学ぼう

コンテナ技術を適切に活用するには、コンテナが「どうやって」動いているかを学びたいところ。はてなのエンジニアhayajo_77さんがコンテナの要素技術の勘所を解説します。

コンテナ技術入門 - 仮想化との違いを知り、要素技術を触って学ぼう

こんにちは。株式会社はてなでサーバー監視サービス「Mackerel」のSREを務めるhayajo_771@hayajoです。

さて、コンテナ技術はDockerの登場がきっかけとなり、本格的に活用が始まりました。現在はKubernetesを始めとするコンテナオーケストレーションツールや AWS, GCP, Azure などのクラウドサービスで提供されるコンテナマネジメントサービスを採用したサービス運用事例が数多く紹介されており、コンテナ技術は「理解する」フェイズから「利用する」フェイズに移ってきています。

コンテナそのものは上記のツールやサービスにより高度に抽象化されており、その要素技術に直接触れる機会はないかもしれません。ですが、効率の良い開発・運用をするためにはその仕組や特性を知ることはとても重要です。また、普及にともないgVisor, Kata Containers, Nabla Containers, Firecrackerなど、コンテナに対する新しいアプローチを持ったツールやサービスも出てきています。

これらのツールやサービスの特性、また「解決しようとしている問題」を理解し、自身が運用するサービスにマッチする技術を選択する上でも、コンテナ技術の基礎を理解することはとても大切です。

こうした背景から、本稿ではコンテナを構成する代表的な要素技術を解説します。コマンド例を多く載せているので、ぜひ手元で実行して理解を深めてください。本記事が少しでも開発・運用の一助となれば幸いです。

コンテナとは

エンジニアHubに会員登録すると
続きをお読みいただけます(無料)。
登録のメリット
  • すべての過去記事を読める
  • 過去のウェビナー動画を
    視聴できる
  • 企業やエージェントから
    スカウトが届く