Docker应用场景和技术原理详解

需积分: 27 6 下载量 135 浏览量 更新于2024-08-25 收藏 3.71MB PPT 举报
"Docker应用场景-精选版Docker技术专题讲座" 本资源概括了Docker技术在实际应用场景中的应用,涵盖了web应用的自动化打包和发布、自动化测试和持续集成、发布、在服务型环境中部署和调整数据库或其他的后台应用、从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境等多个方面。 Docker技术架构: Docker的架构是一个C/S模式的架构,后端是一个非常松耦合的架构,模块各司其职,并有机组合,支撑Docker的运行。用户是使用DockerClient与DockerDaemon建立通信,并发送请求给后者。DockerDaemon作为Docker架构中的主体部分,首先提供Server的功能使其可以接受DockerClient的请求;而后Engine执行Docker内部的一系列工作,每一项工作都是以一个Job的形式的存在。 Docker的工作流程: Job的运行过程中,当需要容器镜像时,则从DockerRegistry中下载镜像,并通过镜像管理驱动graphdriver将下载镜像以Graph的形式存储;当需要为Docker创建网络环境时,通过网络管理驱动networkdriver创建并配置Docker容器网络环境;当需要限制Docker容器运行资源或执行用户指令等操作时,则通过execdriver来完成。 libcontainer是一项独立的容器管理包,networkdriver以及execdriver都是通过libcontainer来实现具体对容器进行的操作。 Docker Pull命令: docker pull命令的作用为:从DockerRegistry中下载指定的容器镜像,并存储在本地的Graph中,以备后续创建Docker容器时的使用。docker pull命令在发起后,Docker所做的一系列运行步骤包括: (1)DockerClient接受docker pull命令,解析完请求以及收集完请求参数之后,发送一个HTTP请求给DockerServer,HTTP请求方法为POST,请求URL为"/images/create?"+"xxx"; (2)DockerServer接受以上HTTP请求,并交给mux.Router,mux.Router通过URL以及请求参数来确定需要下载的镜像的类型和版本,然后从DockerRegistry中下载镜像,并将其存储在本地的Graph中。 Docker的应用场景: Docker技术可以应用于web应用的自动化打包和发布、自动化测试和持续集成、发布、在服务型环境中部署和调整数据库或其他的后台应用、从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境等多个方面。