一款产品从开发到上线,从操作系统,到运行环境,再到应用配置
作为开发+运维之前的协作我们需要关心很多东西,这是互联网公司不得不面对的问题,特别是各种版本的迭代之后,不同版本环境的兼容,对运维人员都是考验
Docker之所以发展如此迅速,也是因为它给出了一个标准化的解决方案
----------------------------------------------------------------------------------------------------------------
从根本上解决问题,软件可以带环境安装
安装的时候,把原始环境一模一样的复制过来,开始人员利用Docker可以消除编码时“"在我上可以正常工作"”的问题
--------------------------------------------------------------------------------------------------------------
Securely build, share and run modern applications anywhere
主要目标:Build,Skip and Run Anywhere Anyway
通过对应用组件的封装,分发,部署,运行等生命周期的管理,使用户的App(web应用或者数据库应用)及应用环境能够做到一次封装,到处运行
Linux容器技术的出现就解决了这样一个问题,而Docker就是在他的基础上发展过来的,将应用运行在Docker容器上,而Docker容器在任何操作系统上都是一致的,这就实现了跨平台,跨服务器
只需要一次配置好环境,换到别的机器上就可以一键部署,大大简化了操作
代表:VMware 和 Oracle VM VirtualBox软件
系统因此而变得高效轻量并保证部署在任何环境中的软件都能始终如一运行
Docker比虚拟机更少的抽象层,Docker不需要Hypervisor实现硬件资源虚拟化
运行在docker容器上的程序直接使用的都是实际物理机的硬件资源,因此CPU,内存利用率上效率有明显的提升
Docker利用的是宿主机的内核,而不需要Guest OS
当新建一个容器时,Dockers不需要和虚拟机一样重新加载一个操作系统,避免引寻加载操作信息内核等比较费时费资源的过程
当新建一个虚拟机时,虚拟机需要加载Guest OS,新建过程时分钟级别的,而Docker利用的是宿主机的操作系统,省略了这个过程,因此新建一个docker容器只需要几秒钟
一次构建,随处运行
更轻量
原文:https://www.cnblogs.com/ZhaoLong-study/p/13585470.html