普通に Docker を使っている分にはあまり気にしなくてもいい領域だが、Docker in Docker などの使い方をすると、ここらへんの知識がないと理解できない。ので、そこらへんをまとめた記事。 Docker Engine は、主に以下の 3 つのコンポーネントからなるクライアントサーバー型アプリケーションです。 1. サーバー。長時間稼動する種類のプログラムでありデーモンプロセスと呼ばれる( dockerd コマンド)。 2. REST API。プログラムとデーモンとの間での通信方法を定義し、何をなすべきかを指示する。 3. コマンドラインインターフェース(command line interface; CLI)クライアント( docker コマンド)。 1が右の Docker で、3が左の Docker で、2は真ん中の矢印。 いつもdocker runとかdocker buil