一、Docker为什么出现?

通俗来讲:一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之间的协作,我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题。特别是各种版本的迭代之后,不同版本环境兼容性,对运维人员是极大的考验。
例如:
环境配置如此麻烦,换一台机器,部署环境就要重来一遍,费力费时。很多人想到,能不能从根源上解决问题,软件可以带环境安装?也就是说安装的时候,把原始环境一模一样地复制过来。解决开发人员说的“在我的机器上可以正常工作”的问题。
传统上认为,软件编码开发/测试结束后,所产出的成果即是程序或是能够编译执行的二进制字节码文件等(Java为例)。而为了让这些程序可以顺利执行,开发团队也得准备完整的部署文件,让运维团队得以部署应用程序。开发需要清楚的告诉运维部署团队,用的全部配置文件+所有软件环境。不过,即便如此,仍热常常发生部署失败。

二、Docker解决了什么问题?

Docker的思想来于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化,集装箱和集装箱之间不会互相影响。那么我们就不需要专门运送水果和专门运送化学品的船。只要这些货物在集装箱封装好,那就可以用一艘大船把他们都运走。
202305171104.jpg

三、Docker理念

Docker的主要目标就是通过对应的组件的封装、分发、部署、运行等生命周期的管理,使用户的APP及其运行环境能够做到“一次封装,到处运行”。
Linux容器技术的出现就解决了这样一个问题,而Docker就是在它的基础上发展过来的,将应用运行在Docker容器上面,而Docker容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机器上就可以一键部署好,大大简化了操作。

四、Docker镜像设计

Docker得以打破过去[程序即应用]的概念。通过Docker镜像(imgaes)将应用程序所需要的系统环境,由下而上打包,达到应用程序跨平台间的无缝接轨运作。

最后修改:2023 年 06 月 21 日
如果觉得我的文章对你有用,请随意赞赏