最近になってようやく開発環境にDockerを使い始めたのですが、この記事を見てやっぱり一度Dockerの動作の仕組みをおさえておきたいよなと思いました。 馴染みのない部分も多く完璧におさえることは難しいので、ここではDockerの使用するLinuxの機能としてよく聞く3つ(overflayfs, namespaces, cgroups)が何なのかという点に注目して簡単にまとめてみました。 Dockerとは ハイパーバイザー型との比較 Dockerの使用するLinux技術 1. Dockerとは 一言でいえばコンテナ型の仮想化ツールです。 コンテナ型 ホストOSのカーネルを使いゲスト (コンテナ)を動かす それぞれのコンテナが独立したリソース (Filesystem, Processes, Memory, Devices, Network devices)を持つ (持っているように見せること