• 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 充当 “垫片” 进程,然后启动容器的真正进程

  • 相关阅读:
    设置开机启动时指定非ROOT用户执行相应的脚本
    passwd的使用
    redis安装过程中遇到的问题
    linux增大交换分区
    初学Pexpect
    系统吞吐量(TPS)、用户并发量、性能测试概念和公式
    CentOS系统下各文件夹的作用
    Python的学习
    syntax error near unexpected token `then'
    10.24 小组会议记录
  • 原文地址:https://www.cnblogs.com/canghai1024/p/13630648.html
Copyright © 2020-2023  润新知