一文让你了解Docker的前世今生

简介: 一文让你了解Docker的前世今生

Docker概述

Docker为什么会出现?

我们在开发一款产品的过程中一定是需要至少两套环境的:开发和生产。现在更多的公司都是在使用开发、测试、生产三套环境,我们对不同环境的配置和打包都是非常繁琐和复杂的,而且重复度很高,同一件事情要做好几遍。而且,相信每一个开发人员都遇到过一个问题:为什么在我的电脑上可以运行,别人的就会出现问题。这些都是环境不一致导致的问题。


发布一个项目需要打jar包(包含redis、mysql、jdk、es…),项目并不能带上环境进行打包,而且在一台服务器配置一个应用的环境是很麻烦的,并且也不支持跨平台。


于是Docker就出现了,为的就是解决上面的问题。


传统:开发打jar包,环境由运维来配置

现在:开发打包部署上线,一套流程做完


911afae74334df7e3bafbceac4fba2c2.png

我们可以看一下docker的图标,是一个鲸鱼上面承载着很多的集装箱,Docker的思想就来自于集装箱。

隔离:Docker的核心思想,打包、装箱,每个箱子都是互相隔离的。


docker就是利用了隔离这一个机制将服务器的机能压榨到极致


Docker的历史

2010年,几个搞it的年轻人,就在美国成立了一家名叫dotcloud的公司,做一些pass的云计算服务。LXC有关的容器技术,他们将自己的技术(容器化技术)命名为Docker。Docker刚刚诞生的时候,没有引起行业的注意!

于是这些年轻人想到将该项目做成开源的——也就是开发源代码。


2013年,将Docker项目进行了开源。于是越来越多的人发现了Docker的优点,Docker就这样顺理成章的火了起来。

2014年4月9日,Docker1.0发布


什么是Docker?

说了这么久的Docker的历史,我们主要来真正的认识一下,Docker到底是什么?

我们先来看一下百度百科给出的解释:“Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。”

我们学习使用Docker也需要知道Docker的官方文档地址

文档地址:https://docs.docker.com/ 内容非常详细

仓库地址:https://hub.docker.com/ 类似于git push…


Docker能干嘛?

之前的虚拟机技术


缺点:

1.资源占用非常多

2.冗余步骤很多

3.启动很慢

  容器化技术

容器的技术不是模拟的一个完整的操作系统


比较Docker和虚拟机技术的不同

传统虚拟机,虚拟出一层硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件

容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,所以很轻便

每个容器间相互隔离,每个容器内都有一个属于自己的文件系统,互不影响

应用更快速的交付和部署

传统:一堆帮助文档,安装程序

Docker:打包镜像发布测试,一键运行

更便携的升级和扩缩容

使用了Docker之后,我们部署应用就像搭积木一样将项目打包成一个镜像,扩展服务器A,只需要把镜像打包直接运行在服务器B即可

更简单的系统运维

在容器化之后,我们的开发,测试环境都是高度一致的

更高效的计算资源利用

Docker是内核级别的虚拟化,可以在一个物理机上运行很多的容器实例,服务器的性能能被压榨到极致


目录
相关文章
|
机器学习/深度学习 存储 人工智能
阿里云GPU云服务器实例规格gn6v、gn7i、gn6i实例性能及区别和选择参考
阿里云的GPU云服务器产品线在深度学习、科学计算、图形渲染等多个领域展现出强大的计算能力和广泛的应用价值。本文将详细介绍阿里云GPU云服务器中的gn6v、gn7i、gn6i三个实例规格族的性能特点、区别及选择参考,帮助用户根据自身需求选择合适的GPU云服务器实例。
阿里云GPU云服务器实例规格gn6v、gn7i、gn6i实例性能及区别和选择参考
|
10月前
|
存储 关系型数据库 分布式数据库
PolarDB PostgreSQL版:商业数据库替换与企业上云首选
PolarDB PostgreSQL版是商业数据库替换与企业上云的首选。其技术架构实现存储计算分离,具备极致弹性和扩展性,支持Serverless、HTAP等特性。产品在弹性、性能、成本优化和多模处理方面有显著提升,如冷热数据自动分层、Ganos多模引擎等。已在汽车、交通、零售等行业成功应用,典型案例包括小鹏汽车、中远海科等,帮助企业大幅降低运维成本并提高业务效率。
261 13
|
11月前
|
SQL 弹性计算 安全
在云上轻松部署达梦数据库
达梦数据库(DM Database)是达梦数据库有限公司开发的关系型数据库管理系统,广泛应用于政府、金融、能源等行业。它具备高性能、高安全、兼容性强、易管理等特点,支持多种操作系统,适用于关键业务系统、政务系统及大数据处理等场景。在阿里云上,可通过一键部署快速使用达梦数据库DM8。
|
监控 安全 网络安全
深入调查研究蜜罐与蜜网
【10月更文挑战第17天】
315 0
|
存储 Kubernetes 安全
kubernetes集群降级|k8s1.24+版本降级到1.23
kubernetes集群降级|k8s1.24+版本降级到1.23
|
负载均衡 监控 微服务
手把手教你搭建SpringCloud项目(三)集成Eureka服务注册中心
手把手教你搭建SpringCloud项目(三)集成Eureka服务注册中心
782 0
|
应用服务中间件 Apache nginx
伪静态配置指南及示例
【7月更文挑战第8天】伪静态(也称URL重写或URL美化)是一种Web服务器技术,用于将动态页面的URL伪装成静态页面的URL形式,以此改善搜索引擎优化(SEO)、提高用户体验及隐藏技术实现细节。本文将介绍如何在Apache和Nginx两种常用的Web服务器上配置伪静态规则。
1226 0
|
缓存 负载均衡 Dubbo
SpringCloud Gateway 在微服务架构下的最佳实践
SpringCloud Gateway 在微服务架构下的最佳实践
2993 98
|
网络协议
了解AT指令以及STM32F103如何通过ESP8266连接到WiFi
AT指令是一组用于控制调制解调器的命令,最早由Hayes公司为其智能调制解调器开发。如今,AT指令已被广泛应用于各种通信模块中,包括GSM、Bluetooth和WiFi模块。AT指令通常以“AT”开头,后跟特定的命令和参数。通过这些指令,我们可以执行一系列操作,如设置网络参数、发送数据和查询状态等。
871 0
|
机器学习/深度学习 人工智能 供应链
【专栏】阿里云RPA的Rap程序是自动化流程脚本,基于AI和机器学习,实现业务流程自动化
【4月更文挑战第29天】阿里云RPA的Rap程序是自动化流程脚本,基于AI和机器学习,实现业务流程自动化。具有灵活性、易用性、高效稳定和智能学习等特点。广泛应用于财务、人力资源、客服和供应链等领域,未来将与AI深度融合,跨平台应用,行业定制化,并构建完善生态,助力企业效率提升和创新。
1607 2