Docker底层原理及源码分析 Docker 架构
(8) 若以上操纵所有正常执行,没有返回错误或非常,则 Docker Client 收到 Docker Server 返回状态之后,提倡第二次 HTTP 哀求。哀求要领为"POST",哀求 URL 为"/containers/"+container_ID+"/start"; (9) Docker Server 接管以上 HTTP 哀求,并交给 mux.Router,mux.Router 通过 URL 以及哀求要领来确定执行该哀求的详细 handler; (10)mux.Router 将哀求路由分发至响应的 handler,详细为 PostContainersStart; (11) 在 PostContainersStart 这个 handler 之中,名为"start"的 job 被建设,并开始执行; (12) 名为"start"的 job 执行完起源的设置事变后,开始设置与建设收集情形,挪用 networkdriver; (13)networkdriver 必要为指定的 Docker 容器建设收集接口装备,并为其分派 IP,port,以及配置防火墙法则,响应的操纵转交至 libcontainer 中的 netlink 包来完成; (14)netlink 完成 Docker 容器的收集情形设置与建设; (15) 返回至名为"start"的 job,执行完一些帮助性操纵后,job 开始执行用户指令,挪用 execdriver; (16)execdriver 被挪用,初始化 Docker 容器内部的运行情形,如定名空间,资源节制与断绝,以及用户呼吁的执行,响应的操纵转交至 libcontainer 来完成; (17)libcontainer 被挪用,完成 Docker 容器内部的运行情形初始化,并最终执行用户要求启动的呼吁。 【编辑保举】
点赞 0 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |