风起漂泊 发表于 2018-5-29 08:49:20

Docker基础知识(一)

  Docker简介:
  Docker 是一个开源的应用容器引擎,以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。
   Docker与传统的虚拟化技术
  传统虚拟化技术(VMware、Xen、Kvm)等技术
  纯软件的虚拟化是通过对于硬件层的模拟从而实现允许运行多个操作系统;
  硬件辅助虚拟化需要硬件层面对于虚拟化的支持,类似Inter-VT等,具有更高的运行效率。
   

  传统虚拟化技术商业解决方案
  商业解决方案:VMware VSphere    VMvare Fusion
  开源解决方案:OpenStackKVM
  容器技术:
  LXC:
  OpenVZ:
  Docker:
  Imctfy Google的开源技术

  Docker存在的一些问题

[*]
[*]  Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用
[*]  LXC是基于cgroup等linux kernel功能的,因此container的guest系统只能是linux base的
[*]  隔离性相比KVM之类的虚拟化方案还是有些欠缺,所有container公用一部分的运行库
[*]  网络管理相对简单,主要是基于namespace隔离
[*]  cgroup的cpu和cpuset提供的cpu功能相比KVM的等虚拟化方案相比难以度量(所以dotcloud主要是按内存收费)
[*]  docker对disk的管理比较有限
[*]  container随着用户进程的停止而销毁,container中的log等用户数据不便收集

  

  传统的虚拟化技术和docker的比较

  

  Docker的应用场景:

  

   1、   部署应用简单,灵活性高
主要解决环境不一致等问题,还有多套环境部署,生产环境、测试环境、预测试环境等多套环境等问题。
   2、    开发人员开发环境配置
  3、   应用的隔离
  4、      服务器的整合
  5、      快速的部署
  6、      代码流水线的管理
将测试好的代码,放置在容器里面,可以在很多地方的运行
  7、      开发调试工作
  8、      产品的发布模式
部署文档比较多,即使很详细,但是还是会出现问题。
  

  

  

  
页: [1]
查看完整版本: Docker基础知识(一)