首页 > 其他 > 详细

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

时间:2020-09-08 10:34:57      阅读:68      评论:0      收藏:0      [点我收藏+]

一、镜像

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

  来源:自己制作;镜像仓库拉取(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 充当 “垫片” 进程,然后启动容器的真正进程

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

原文:https://www.cnblogs.com/Xiaojiangzi/p/13630648.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!