Docker历史

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系列文章参考了这里,如有侵权,请联系作者删除
  • 视频教程请点击这里
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值