分享

什么是Docker?这篇文章带你快速了解!

 老男孩IT教育 2022-12-28 发布于北京

  Docker是基于Go语言进行开发实现,一个开源的应用容器引擎。

  采用Linux内核的cgroup,namespace,以及AUFS类的Union FS等技术,对进程进行封装隔离,也可以实现虚拟化。

  隔离的进程独立于宿主和其他的隔离进程,因此也称其为容器。

  可以将Docker容器理解为一种轻量级的沙盒,每个容器内运行着一个应用,不同的容器相互隔离,容器之间也可以通过网络互相通信。

  容器的创建和停止十分快速,几乎跟创建和终止原生应用一致;

  另外,容器自身对系统资源的额外需求也十分有限,远远低于传统虚拟机。

  很多时候,直接将容器当作应用本身也没有任何问题。

  为什么使用docker

  对于开发和运维人员来说,最希望的效果就是一次创建或者配置后,可以在任意地方、任意时间让应用正常运行。

  对于算法研究人员来说,可能不同的算法需要不同版本的软件,那么在同一个环境中就会存在冲突。

  而docker 的环境隔离就可以很方便用于不同环境的配置。

  具体来说,docker优势主要有以下几个方面:

  1、快速交付和部署

  使用docker,开发人员可以使用镜像快速构建一套标准的开发环境;

  开发完成后,测试和运维人员可以使用完全相同的环境部署代码,只要是开发测试过的代码就可以确保在生产环境无缝运行。

  docker可以快速创建和删除容器,实现快速迭代。

  2、高效的资源利用

  运行docker容器不需要额外的虚拟化管理程序的支持。

  docker是内核级的虚拟化,可以实现更高的性能,同时对资源的额外需求很低。

  3、轻松的迁移和扩展

  docker容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、服务器等。

  同时支持主流的操作系统发行版本,这种兼容性让用户可以在不同平台间轻松的迁移应用。

  4、简单的更新管理

  使用Dockerfile生成镜像的方式,只需要小小的配置修改,就可以替代以往大量的更新工作,所有的修改都以增量的方式进行分发和更新,从而实现自动化且高效的容器管理。

  docker架构分析

  如下图所示,Docker采用的是 Client/Server 架构。

  客户端向服务器发送请求,服务器负责构建、运行和分发容器。

  客户端和服务器可以运行在同一个 Host 上,客户端也可以通过socket或 REST API与远程的服务器通信。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多