Docker进阶之一:Docker介绍与体系结构

时间:2022-07-14 19:52:17

一.  Docker是什么

  Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源,基于Linux内核的cgroup,namespace,Union FS 等技术,

对应用进程进行隔离,并且独立于宿主机和其他进程,这种运行时封装的状态称为容器。

  Docker早起版本是基于LXC,并进一步进行封装,包括文件系统,网络系统,镜像管理等方面,极大简化了容器管理。从0.7版本以后开始,

去除LXC,转为自行研发的libcontainer,从1.11版本开始,进一步演进为使用runC和containerd.

  Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

  Docker理念是将应用及依赖包打包到一个可移植的容器中,可发布到任何Linux发行版Docker引擎上。使用沙箱机制运行程序,程序之间相互隔离。

二.  Docker体系结构

    Docker进阶之一:Docker介绍与体系结构

    Containerd: 是一个简单的守护进程,使用runC管理容器。向Docker Engine提供接口。

    Shim: 只负责管理一个容器。

    runC: 是一个轻量级的工具,只用来运行容器。

    

    安装pstree了解一下具体docker层级结构

    yum install psmisc -y

    docker run -d busybox ping baidu.com

    Docker进阶之一:Docker介绍与体系结构

       Docker进阶之一:Docker介绍与体系结构

      一. 客户端执行(build,pull,run)命令发送到DOCKER_HOST

      二. DOCKER_HOST 的守护进程(docker_engine)创建容器

      三. 拉取镜像先从本地拉取,如果本地没有会去镜像仓库拉取镜像

  

如果有问题可以加我微信(baolongsj)共同学习和进步…..