Docker历史

Docker因解决开发与线上环境不一致问题而诞生,它通过隔离机制实现了轻量级的环境封装,提高了开发效率。从创建基于基础镜像的开发环境,到快速启动和发布的流程,Docker将应用与环境打包成容器,类似集装箱理念。相比于虚拟机,Docker启动更快,占用资源更少,实现了更高效的服务器利用。Docker于2013年开源,迅速受到关注,成为现代软件开发的重要工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker概述

Docker为什么会出现

一款产品,开发和线上是两套不同的环境,应用环境费时费力,而且容易在交付的时候出错。我们经常听到的一句话便是:“在我的机器上运行没问题啊,怎么到你那里就出问题了?”。说的就是环境不同导致的问题。

对于我们嵌入式开发领域来讲,不同的芯片,不同的交叉编译工具链需要不同的配置,当所有的工具链和配置都集中在同一个开发环境中时,可能会出现一些奇奇怪怪的问题。比如,我遇到的有些工程是需要python2.7来构建的,有些则需要python3来构建,每次开发不同的芯片,都要重新配置一遍环境,相当麻烦且浪费时间。

所以,一个好的解决方案便是,将项目+环境一起打包,做成一个整体且互相不影响。这就要提到我们的主角Docker。

使用Docker的流程

**开发(嵌入式):**下载一个基本Linux发行镜像(centos ubuntu) --> 配置交叉编译工具链 --> 新建工程(可以建在docker容器内,也可以建在本地目录) --> 开发 -->打包制作成镜像 -->发布到docker仓库

**使用:**下载docker中的镜像 --> 直接使用

Docker的思想来自于集装箱,集装箱,对环境进行隔离

Docker通过隔离机制,可以将服务器利用到极致。

Docker的历史

2010年,几个搞IT的人,在美国成立一家公司dotCloud

做一些pass的云计算服务

他们将自己的容器化技术命名为Docker

Docker基于Go语言开发

Docker刚刚诞生的时候,没有引起行业的注意,dotCloud活不下去

然后他们决定开源

2013年,创始人将Docker开源,不开则以,一开惊人,刚开源的时候,每个月都会更新一个版本

2014年4月9日,Docker 1.0发布

容器vs虚拟机

在容器技术出来之前,用的是虚拟机技术,虚拟机其实就是真实的模拟一个电脑,它有独立的kernel和lib库,所以显得非常笨重,但同时也保证了安全性。

虚拟机原理示意图

image-20200606205436434

缺点:

  1. 资源占用多
  2. 冗余步骤多
  3. 启动很慢
容器化技术示意图

不是模拟的完整的操作系统,而是在kernel层复用宿主机的kernel,自己则只打包最小可运行环境。

image-20200606205739655

二者对比

比较虚拟机和Docker的不同

传统虚拟机Docker
虚拟内容硬件+完整的操作系统+软件APP+LIB
大小笨重,通常几个G轻便几个M或KB
启动速度慢,分钟级快,秒级

参考资料

  • docker系列文章参考了这里,如有侵权,请联系作者删除
  • 视频教程请点击这里
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值