微服务架构视频笔记 01 Docker简介

视频地址: https://www.bilibili.com/video/av62628434

容器和传统虚拟机的区别

传统虚拟机技术是虚拟出一套硬件后, 在其上运行一个完整操作系统, 在该系统上再运行所需应用进程; 而容器内的应用进程直接运行于宿主的内核, 容器内没有自己的内核, 而且也没有进行硬件虚拟。 因此容器比传统虚拟机更为轻便。

容器架构图

在这里插入图片描述

传统虚拟机架构图


可以看到, 在Docker中每个应用只需要加载必要的库和依赖, 而在虚拟机中每个应用都需要启动一个虚拟操作系统, 当应用很多时会非常占用资源, 而且虚拟操作系统的启动速度也很慢

Docker的优势

高效资源利用

由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销, Docker对系统资源的利用率更高。 应用执行速度, 内存损耗, 文件传输速度, 都要比传统虚拟机技术更高效。 因此, 相比虚拟机技术, 一个相同配置的主机, 往往可以运行更多数量的应用。

快速启动

传统虚拟机技术启动应用往往需要数分钟(需要先启动操作系统), 而Docker容器中的应用, 由于直接运行于宿主内核, 无需启动完整的操作系统, 因此可以做到秒级, 甚至毫秒级启动, 大大节约了开发测试部署的时间。

环境一致

开发过程中常见的问题是环境一致性。 由于开发环境,测试环境,生产环境不一致(软件环境如操作系统,依赖库,硬件环境如硬件配置驱动版本), 导致有些bug并未在开发过程中被发现。 而Docker的镜像提供了除内核外完整的运行时环境, 确保了应用运行环境一致性, 从而不会再出现环境变化引发的问题

持续交付和部署

使用Docker可以通过定制应用镜像来实现持续集成,持续交付,部署。 开发人员可以通过Dockerfile来进行镜像构建。 并结合持续集成(CI) 系统进行集成测试。 而运维人员则可以直接在生产环境中快速部署该镜像, 甚至结合**持续部署(CD)**系统进行自动部署。
而且使用Dockerfile使镜像构建透明化,不仅仅开发团队可以理解应用运行环境,也方便运维团队理解应用运行所需条件,帮助更好的生产环境中部署该镜像。

轻松迁移

由于Docker确保了执行环境的一致性,使得应用的迁移更加容易。Docker可以在很多平台上运行,无论是物理机、虚拟机、公有云、私有云,运行结果都是一致的。因此用户可以轻易的将在一个平台上运行的应用,迁移到另一个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况。

维护扩展

Docker使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单。此外,Docker团队同各个开源项目团队一起维护了一大批高质量的官方镜像,既可以直接在生产环境使用,又可以作为基础进一步定制,大大的降低了应用服务的镜像制作成本。

总结

特性容器虚拟机
启动秒级分钟级
硬盘使用一般为MB一般为GB
性能接近原生弱于容器
系统支持量单机支持上千个容器一般几十个
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值