Docker介绍

  1. Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

  2. 优点:Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。

  3. Docker与虚拟机的对比

    • Docker与虚拟机在几个方面有所不同。首先,磁盘空间使用方面,Docker的镜像层一般很小,只有几十KB,而虚拟机则通常以GB为单位。
      • 在性能方面,Docker依附于宿主机,所以性能接近宿主机,而虚拟机相对于原主机来说性能较差。[1]再者,资源利用率方面,Docker的资源利用率较高,而虚拟机的资源利用率较低。
      • 隔离性方面,Docker和虚拟机都具有安全隔离的特性。
      • Docker直接在宿主机内核上运行,而虚拟机运行在隔离层Hypervisor上。
      • Docker可以同时运行上千个容器,而虚拟机相对较厚重,最多只能启动几十个。
      • 在运行速度方面,Docker优于虚拟机,Docker容器的启动和停止可以在秒级实现,而传统的虚拟机方式要慢得多。
        总的来说,Docker作为一种轻量级的虚拟化方式,在运行应用上具有显著的优势,启动速度快,对系统资源需求少,指令简明,学习成本较低。
  4. Docker的三要素(镜像、容器、仓库)

    • Image(镜像)一个只读的文件系统,它包含了运行一个容器所需的所有文件和配置。镜像可以通过扩展现有镜像来创建新的镜像。大多数镜像都是通过在基础镜像中安装和配置需要的软件来构建的。基础镜像是镜像栈的最底部,而位于下面的镜像称为父镜像。当从一个镜像启动容器时,Docker会在该镜像的最顶层加载一个读写文件系统,我们想在Docker中运行的程序就是在这个读写层中执行的。基础镜像可以是任何可用的镜像文件,如果在Docker主机上找不到指定的镜像文件,Docker会从Docker Hub Registry上拉取所需的镜像文件。如果找不到指定的镜像文件,docker build会返回一个错误信息。

    • Container(容器)一个独立运行的应用程序的实例,每个容器都是在Docker引擎上运行的一个进程,它具有自己的文件系统、网络和进程空间。容器是通过Docker镜像创建的,镜像是一个只读的模板,包含了运行应用程序所需的所有文件和配置。容器可以被启动、停止、删除和重启,它们提供了一种轻量级、可移植和可扩展的方式来打包和部署应用程序。

    • Repository(仓库)保存镜像统一存储的位置,在Docker中,仓库(Registry)是用来保存所有创建好的镜像统一存储的位置。它分为私有仓库(Private Registry)和公共仓库(Public Registry)。公共仓库的名字是Docker Hub,它是世界上最大的容器镜像存储库,包含了大量的镜像供使用。这些镜像可以是用户自己创建的,也可以是在别人的镜像基础上创建的。Docker Hub提供了免费的公共仓库供用户存储和共享镜像,同时也提供了私人仓库的订阅计划供用户选择。

posted @ 2024-05-24 13:28  Hanyta  阅读(4)  评论(0编辑  收藏  举报