Docker:微服务为什么一定要用docker?阿里架构师带你彻底了解docker


早在2013年的时候 , docker就已经发行 , 然而那会还是很少人了解docker 。 一直到2014年 , Martin Fowler提出了微服务的概念 , 两个不相干的技术终于走在了一起 , 创造了今天的辉煌
Docker:微服务为什么一定要用docker?阿里架构师带你彻底了解docker
本文插图
什么是Docker Docker 是一个开源的应用容器引擎 , 让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中 , 然后发布到任何流行的 Linux或Windows 机器上 , 也可以实现虚拟化 。 容器是完全使用沙箱机制 , 相互之间不会有任何接口
Docker有什么用?docker就是类似的理念 。 现在都流行云计算了 , 云计算就好比大货轮 。 docker就是集装箱 。
1.不同的应用程序可能会有不同的应用环境 , 比如.net开发的网站和php开发的网站依赖的软件就不一样 , 如果把他们依赖的软件都安装在一个服务器上就要调试很久 , 而且很麻烦 , 还会造成一些冲突 。 比如IIS和Apache访问端口冲突 。 这个时候你就要隔离.net开发的网站和php开发的网站 。 常规来讲 , 我们可以在服务器上创建不同的虚拟机在不同的虚拟机上放置不同的应用 , 但是虚拟机开销比较高 。 docker可以实现虚拟机隔离应用环境的功能 , 并且开销比虚拟机小 , 小就意味着省钱了 。
2.你开发软件的时候用的是Ubuntu , 但是运维管理的都是centos , 运维在把你的软件从开发环境转移到生产环境的时候就会遇到一些Ubuntu转centos的问题 , 比如:有个特殊版本的数据库 , 只有Ubuntu支持 , centos不支持 , 在转移的过程当中运维就得想办法解决这样的问题 。 这时候要是有docker你就可以把开发环境直接封装转移给运维 , 运维直接部署你给他的docker就可以了 。 而且部署速度快 。
3.在服务器负载方面 , 如果你单独开一个虚拟机 , 那么虚拟机会占用空闲内存的 , docker部署的话 , 这些内存就会利用起来 。
总之docker就是集装箱原理 。
今天为大家带来的是深入浅出Docker特点

  • 标准化应用发布 , docker容器包含了运行环境和可执行程序 , 可以跨平台和主机使用;
  • 节约时间 , 快速部署和启动 , VM启动一般是分钟级 , docker容器启动是秒级;
  • 方便构建基于SOA架构或微服务架构的系统 , 通过服务编排 , 更好的松耦合;
  • 节约成本 , 以前一个虚拟机至少需要几个G的磁盘空间 , docker容器可以减少到MB级;
  • 方便持续集成 , 通过与代码进行关联使持续集成非常方便;
  • 可以作为集群系统的轻量主机或节点 , 在IaaS平台上 , 已经出现了CaaS , 通过容器替代原来的主机 。

Docker:微服务为什么一定要用docker?阿里架构师带你彻底了解docker
本文插图
Docker
Docker:微服务为什么一定要用docker?阿里架构师带你彻底了解docker
本文插图
Docker:微服务为什么一定要用docker?阿里架构师带你彻底了解docker
本文插图
现在免费送给这篇文章的读者朋友 , 关注+转发+收藏后私信【资料】即可免费获取!
Docker的优点