背景
在使用docker时,我们经常会使用docker的很多命令,比如docker exec等创建容器并执行命令,那么你知道这条命令背后的原理吗,本文就来解析下这条命令大致的执行流程图
docker exec命令
首先我们按照启动docker之后,docker会启动一个docker daemon的进程,这个进程是处理各种docker命令的关键,docker的很多命令都只是发送请求到docker daemon进程,主要工作都是由docker daemon进程完成的,以下我们以docker exec命令的执行作为例子
这个图中描述了docker daemon如何完成创建dockerinit进程的工作,并且完成各种资源namespace隔离的工作,以及使用cgroup完成限制进程使用的资源上限的工作