• Docker学习二:docker核心概念之容器、镜像、仓库


    一、镜像

      镜像是一个只读的文件和文件夹组合,是容器运行的基础,包含了容器运行所需要的的基础文件和配置信息。

      来源:自己制作;镜像仓库拉取(docker hub)

    二、容器

      通俗的理解,容器是镜像的运行实体。

      镜像是静态的可读文件,容器带有运行时所需要的可写文件层,容器运行着真正的进程。

      容器的状态:初建、运行、暂停、停止、删除

      在容器内部,无法看到主机上的环境变量、运行的进程、网络等信息。

    三、仓库

      仓库用来存储和分发docker镜像,包含共有仓库和私有仓库,docker官方仓库:Docker Hub

    总结:镜像、容器、仓库之间的关系如下图

     四、docker架构

    由上图可以看到,Docker 整体架构采用 C/S(客户端 / 服务器)模式,主要由客户端和服务端两大部分组成。客户端负责发送操作指令,服务端负责接收和处理指令。客户端和服务端通信有多种方式,即可以在同一台机器上通过UNIX套接字通信,也可以通过网络连接远程通信。

    重要组件

    • runC是 Docker 官方按照 OCI 容器运行时标准的一个实现。通俗地讲,runC 是一个用来运行容器的轻量级工具,是真正用来运行容器的。
    • containerd是 Docker 服务端的一个核心组件,它是从dockerd中剥离出来的 ,它的诞生完全遵循 OCI 标准,是容器标准化后的产物。containerd通过 containerd-shim 启动并管理 runC,可以说containerd真正管理了容器的生命周期

           

    通过如下命令,查看上图中各个组件之间的进程关系:

    dockerd 启动的时候, containerd 就随之启动了,dockerd 与 containerd 一直存在。当执行 docker run 命令(通过 busybox 镜像创建并启动容器)时,containerd 会创建 containerd-shim 充当 “垫片” 进程,然后启动容器的真正进程

  • 相关阅读:
    ObjectiveC语法快速参考
    IIS网站全部显示无权访问需要登录
    如何让自己的网站尽快收录绍兴114导航
    asp.net的运行原理
    WPF学习视频资料
    Asp.net MVC3 自定义HtmlHelper控件
    Unity3D中C#和JS的方法互相調用
    对于冒泡算法的思考,大牛可一笑而过~~
    2013年年前瞻望与计划
    使用vs2010编辑Unity脚本,配置方法
  • 原文地址:https://www.cnblogs.com/canghai1024/p/13630648.html
Copyright © 2020-2023  润新知