先日のDockerコンテナが停止してしまう件を調査していて、そもそもDockerはどういう仕組みなのかが気になった。
ネットで記事を漁っていたところ、下記の記事がとても参考になった。
この記事で学んだこと。
DockerはLinuxの上でしか動かない
Linuxのnamespace, cgroup, overlayfsといった機能を組み合わせて実現しているらしい
MacとWindowsの場合、仮想化ツールでLinuxが動いており、その上でDockerが動いている
moby linuxというのが稼働しているらしい
コンテナ内で実行される全ての命令は、コンテナのディストリビューションを通してホストOSのLinuxカーネルで処理される
少しスッキリ。