美文网首页DockerLinux
Docker入门扫盲

Docker入门扫盲

作者: 文景大大 | 来源:发表于2021-11-14 16:23 被阅读0次

    一、容器3W介绍

    1.1 什么是容器

    容器是一种轻量级、可移植、自包含的软件打包技术,使得应用程序及其需要的支持环境一起打包,以相同的方式运行在几乎任何地方。

    1.2 为什么需要容器

    对开发人员来说 :Build Once, Run Anywhere

    对运维人员来说:Configure Once, Run Anywhere

    1.3 容器是如何工作的

    Docker主要架构包含如下要素:

    • Client,客户端包含多种形式,除了常用的Docker命令行之外,还可以通过REST API的形式,客户端的作用就是为了发送指令给到Docker Host,进行一系列的操作。Client可以和Docker Host运行在一台或者不同的机器上。
    • Docker Host:
      • Docker Daemon,Docker的守护线程,通过接受Client的指令来对容器和镜像进行具体的操作事宜。默认情况下,只接受本地Host的Client指令。
      • Image,镜像是只读属性的,通过本地制作或者从Registry拉取获得,用来生成一个或者多个容器实例,是容器的模板 。
      • Container,容器实例,通过镜像运行而来,对容器的任何修改都不会影响镜像,真正对外提供服务的就是容器实例。
    • Registry,镜像仓库,可以本地搭建、通常推荐使用国内大厂的镜像库,或者使用官方的DockHub镜像仓库。

    它们之间的关系可用如下图表示:

    Docker架构图

    一个完整的工作流程如下:

    1. 打开Docker Client客户端,连接上Docker Host;
    2. 通过docker pull命令从Registry拉取镜像到本地;
    3. 运行docker run命令从镜像实例化一个或者多个容器实例;

    二、容器技术与虚拟机技术

    容器与虚拟机的比较

    2.1 相同

    都是一种虚拟技术,给应用提供相对独立的运行环境。它们都摆脱了对物理资源的直接依赖,相互之间以共享地方式高效地使用计算资源。

    2.2 不同

    虚拟机通常需要依赖Hypervisor技术,该技术可以为虚拟机分配独立的物理环境和操作系统,而容器则是基于Docker Engine直接使用宿主机的操作系统来进行虚拟资源的分配,无需再为每个虚拟单位安装Guest OS,大大减少了镜像的构建成本和运行成本。

    因此,相同的物理资源下,容器能比虚拟机运行更多的虚拟单位,更加的轻量和高效。

    相关文章

      网友评论

        本文标题:Docker入门扫盲

        本文链接:https://www.haomeiwen.com/subject/tfkxtrtx.html