首页 > 其他 > 详细

docker容器

时间:2021-05-16 22:15:51      阅读:28      评论:0      收藏:0      [点我收藏+]

1.什么是docker?
1)docker是基于GO语言实现的开源容器项目。(go语言也是现在很火的一个语言,类似c语言,高效,轻量级,打包的此语言体积较小。容器,是装东西的。docker容器,是一个虚拟的OS,一种运行环境,不提供完整系统,利用现有硬件系统。)
2)docker镜像更像是操作系统os虚拟环境,虚拟环境通过dockerserver提供,dockerserver用现有linux的环境的服务给docker。

3)一次打包,到处执行。docker容器类似一个进程,镜像类似一个文件。docker容器是通过docker镜像创建的。给一个相同的物理linux环境,安装相应或者更高的dockerserver版本后,docker容器就可以执行了。

2.docker和vm的对比

结构区别:
  多个docker容器可以同时运行在一台linux宿主机上,类似于安装了很多app,但彼此是独立的。但dockerserver故障,所有容器都不能用了。docker类似一个虚拟的内核,通过调用dockerserver调用外部环境,各个docker容器是相互独立的,但都是资源共享同一个linux,利用率高,性能好。面向软件工程师。面向内核,软件,秒级别启动。
  vm需要分享宿主机硬件设备,但是操作系统更加灵活,可以安装各种操作系统,但是资源彼此独立,利用率低,损耗硬件资源多。面向的是硬件工程师.面向硬件,分钟的。

应用层面上区别:
  1.docker体积小,vm安装操作系统体积大
  2.docker启动快,vm启动慢
  3.docker兼容行好,打好包,用对应的版本或者更高版本的dockerserver就可以运行。vm兼容性不好,或者移植性不好,必须依托宿主。

但总体,两者面向的层面不一样,不具备可比行。两者都有不同的优势和缺点。docker可以部署在vm上,但vm不能部署在docker上。

3.docker特点
  效率高。将各种应用程序几分钟Docker化到一个环境。依赖“写时复制”模型,使得改应用程序非常迅速。运行里面的应用程序,几乎1秒启动。另外,同一台宿主机可以同时运行多个容器,充分利用资源。
       职责分明。开发关心容器中的程序,运维人员关心如何管理容器。开发人员打包后,此时的环境,就是实际生产中的实际环境。docker设计的目的就是加强开发人员写代码的开发环境与应用程序要部署环境一致性。
       结构完整。docker设计的目标就是开发、测试、部署 、上线运行周期缩短。让应用程序具备可移植性,易于构建,并易于协作。
        契合微服务。鼓励面向服务体系结构和微服务架构,一个容器一个应用独立服务,每个容器可以相互沟通,形成弱耦合,形成分布式。微服务一般都是可以独立运行的,加上docker,内省性就相对较高,内部就可以提供完整性环境。

4.docker架构

  技术分享图片

 

    这里说明下,docker daemon是守护进程,运行在宿主机(docker_host)中。

 

docker容器

原文:https://www.cnblogs.com/dangjingwei/p/14774384.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!