Docker是什么?

官方:Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。

用来干什么的?

它可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。

 

一张思维导图奉上:

 

 

 小编的理解:它是用来把你的程序在linux系统中打包起来,然后使你的程序和其他程序隔离,就相当于你在一个虚拟机上装了一个软件,和你电脑上的软件没有任何联系,但是它和虚拟机最大的不同就是它的性能开销特别小。

 

那它在什么场合比较适用呢?

  1. Web应用的自动化打包和发布
  2. 自动化测试和持续集成、发布
  3. 在服务环境中调整后台应用

 

它的优点:

  1.  简化程序:把你的程序放在箱子里,你就可以让全世界的linux系统很快的部署上你的程序。
  2. 简化部署和配置:Docker的镜像中包含了运行环境和配置,所以它可以简化你实际部署中很多操作。
  3. 节省开支:这个有点正是因为它开销小的特点,它与云结合,让云空间的得到了更充分的利用,解决了硬件管理问题的同时还改变了虚拟化的方式。

 

这么看着,docker的确挺好,但是它也不是万能的:

  1. 系统限制:只能运行在Linux 64bit的系统上,别的都不行
  2. 隔离性:它的隔离性和KVM之类的虚拟化方案还是有些不足的
  3. Docker对disk的管理比较有限
  4. Container(容器)随着用户的停止而销毁,因此Container中的log等用户数据不便于收集

 

小编最近才刚刚接触Docker,简单总结,如有不足,欢迎指出!

 

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐