ThinkSSL🔒 一键申购 5分钟快速签发 30天无理由退款 购买更放心 广告
# <span style="font-size:15px">**Docker run的运行流程**</span> docker run 在运行时会先在本机寻找对应的镜像,如镜像不存在则会镜像仓库中下载,如果在镜像仓库中也找不到镜像,则返回报错。 ![](https://img.kancloud.cn/b3/1f/b31f0c03983e685cbcc4d3a015cee7c3_796x550.png) # <span style="font-size:15px">**Docker 架构原理**</span> Docker是一个Client-Server结构的系统,Docker的守护进程运行在宿主机上,通过Socket连接从客户端访问,守护进程从客户端接收命令并管理运行在主机上的容器和镜像。 ![](https://img.kancloud.cn/3a/c6/3ac68cefc568337bd8e87f2dd6d9e365_996x407.png) ![](https://img.kancloud.cn/3a/0c/3a0cf3e7b510cbfc5d5f7ac6844314e5_1270x666.png) **Client**:提供用户跟Docker交互的入口 **Docker Deamon**:用于监听并处理docker client发送的api请求并且管理docker镜像 **Registry**:存储镜像的仓库,默认情况下docker会从该公共仓库获取镜像,可以自定义设置 **Images**:存储的本地docker镜像,用于构造容器 **Containers**:容器,即docker镜像的运行实例 # <span style="font-size:15px">**Docker为什么比传统VM快**</span> 1. Docker 比虚拟机有更少的抽象层 2. docker利用宿主机的内核,VM需要的是Guest OS 3. 新建容器的时候,docker不需要像虚拟机一样重新加载操作系统的内核,避免引导。虚拟机是加载Guest OS,这种操作是分钟级别的,而docker是利用宿主机的操作系统,省略了这个过程 ![](https://img.kancloud.cn/48/87/488714686678fc2c1557362b377fe914_591x355.png)