网站seo站群软件,手机网站设计字体大小,视频优化是什么意思,如何绑定网站域名解析1 概述Docker镜像技术通过创新性的设计#xff0c;彻底解决了应用交付领域的核心痛点#xff0c;已经成为已成为云原生时代的事实标准。其核心价值在于通过标准化封装实现一次构建#xff0c;处处运行#xff0c;从根本上改变了软件交付的生命周期。2 …1 概述Docker镜像技术通过创新性的设计彻底解决了应用交付领域的核心痛点已经成为已成为云原生时代的事实标准。其核心价值在于通过标准化封装实现一次构建处处运行从根本上改变了软件交付的生命周期。2 解决的问题2.1 打包问题一个可执行程序包可能是各种各样的语言编写出来的对环境有不同的要求。比如Java语言的jar包需要有JVM环境才能够执行Python的代码包需要安装Python和用pip安装一系列依赖包环境才能执行。把这个可执行包部署到不同的操作系统时根据不同的操作系统的要求需要做一些不同的环境变量等配置。比如Java环境在Windows里配环境变量和在Linux环境配环境变量的方式不一样在部署jar包的时候在不同的环境上部署的脚本要写成不一样的。在执行可执行程序包的时候不同语言、不同操作系统需要提供不同的启动脚本。docker镜像则创造性地把可执行包所依赖的环境、配置、启动脚本全部打包成一个镜像包里面的环境甚至还包含了一整套Linux的目录和文件额外再根据需要加上相关的依赖包、配置指定好启动脚本。这样的一个包不管在windows、Linux、iMac还是在物理机、虚拟机、各种云平台都可以用一个简单的命令就可以运行。这代表着可以很轻松地在各个环境中迁移真正做到打包一次各个平台执行。2.2 部署问题要部署可执行包除了准备好可执行包还需要根据不同的操作系统安装相关的依赖进行相关的配置准备相关的启动脚本等然后再安装可执行包、执行可执行包完成部署。由于docker镜像把操作系统等环境、需要的依赖、配置、启动脚本等都打包到镜像包里了原来需要根据不同语言、不同操作系统等进行的一系列准备工作全都消失了只剩下拉取镜像包和执行镜像包两个动作这样部署就非常简单。2.3 资源利用问题传统的部署为了在一台物理机上部署多应用一般采用虚拟机的方式。虚拟机由于虚拟化管理程序在Linux上运行Virtual Machine Manager(VMM)在windows上运行Hypervisor这些虚拟化管理程序需要占用10%~30%的CPU、内存等资源。而Docker是通过linux的Cgroups、Namespace的配置来进行隔离属于内核级的虚拟化占用的资源比虚拟机节省80%以上整体性能可以提高1~2个数量级。2.4 更新问题在需求变动后打包、部署等都需要更新。由于docker的镜像包是一层层叠加而成的如果要修改的话只需要修改某些层或者增减某些层然后重新打包即可。这些内容一般通过dockerfile来进行维护这些改动只需要在dockerfile上调整然后重新打包即可非常的方便。镜像包更新后docker上拉取包也比较高效只需要拉取更新的层即可。docker的创建和删除容器的速度也很快删除掉老的容器再创建和启动新版本镜像的容器即可。当部署的服务器比较多还可以用相关的调度工具逐步把所有的应用都更新了。