• 技术文章 >运维 >Docker

    docker内部组件有哪些

    藏色散人藏色散人2022-10-21 14:27:23原创234

    docker内部组件有:1、dockerclient,这是一个泛称,它可以是命令行docker,也可以是遵循了docker api规则的客户端;2、dockerserver服务端;3、Docker镜像,这是一个只读的模板,是启动一个容器的基础;4、Registry,这是一个镜像的仓库;5、Docker容器。

    php入门到就业线上直播课:进入学习

    本教程操作环境:linux7.3系统、docker19.03版、Dell G3电脑。

    docker内部组件有哪些?

    docker的核心组件如下:

    1、 客户端:dockerclient

    2、 服务端:dockerserver

    3、 Docker镜像

    4、 Registry

    5、 Docker 容器

    本文会给大家简单介绍这些组件的作用并简述他们是如何相互协作的

    1、 docker客户端与服务器

    docker client向docker daemon发送请求,docker daemon完成相应的任务,并把结果返还给容器

    docker client是一个泛称,它可以是命令行docker,也可以是遵循了docker api规则的客户端,简单地说可以理解为一个用于交互/发送指令的接口。

    如下图:

    fb028992c8c8edd228c2b6563729ec3.jpg

    2、 docker镜像

    docker镜像是一个只读的模板,是启动一个容器的基础。其中包括了容器的文件系统结构与内容,它与docker的配置文件共同组成了docker容器的静态文件系统环境

    docker镜像在设计上有许多特别之处:

    分层机制

    docker的镜像机制是有层次感的,一个镜像可以放到另一个镜像的顶部。位于下端的为父镜像,以此类推;最底部的镜像可称为基础镜像。最后从一个镜像启动容器时,docker会在镜像的最顶层加载一个读写的文件系统,我们想在docker上运行的程序就是在这个读写层中执行的。

    怕你没看懂,上图

    f8243dae634f14dc93faa2c9012447e.jpg

    当我启动容器之后,我们接触的是最顶层的可写容器,最顶层的镜像以处于他下发层的镜像迭代构建而成。接下来引出docker镜像的另一个特性,写时复制:

    2)写时复制

    还是看刚刚那张图,刚开始运行的时候可写容器与顶层的镜像内容是完全一致的;当我对内容进行修改的时候,文件会从下一层的镜像(只读层)复制到顶层的可写容器(读写层),只读层的文件依然存在,但是会被读写层的文件所隐藏;在容器中所做的所有操作,都不会影响底层的原有数据,除非你把他打包成一个新的镜像。

    3)内容寻址与联合挂载

    。。。让我偷个懒,感兴趣的自行百度吧

    3、 registry

    我们从何处去获得镜像?如果我们是第一次通过某个镜像去启动容器,首先宿主机回去/var/lib/docker目录下去找,如果没有找到,则会去registry中去下载镜像并且存放于虚拟机,然后完成启动。

    registry可以想象为一个镜像的仓库,默认的registry是docker官方提供的registry服务,名为Docker Hub。当然,你也可以构建自己的镜像仓库。

    4、 docker容器

    容器就是镜像的运行实例。

    用户可以通过命令行或是 API 启动、停止、移动或删除容器。可以这么认为,对于应用软件,镜像是软件生命周期的构建和打包阶段,而容器则是启动和运行阶段。

    推荐学习:《docker视频教程

    以上就是docker内部组件有哪些的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:组件 Docker
    上一篇:docker中mysql乱码怎么办 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• docker怎么解决crontab不生效• win10专业版自带了docker吗• docker-compose是否需要安装• Node服务怎么进行Docker镜像化?极致优化详解• docker中mysql乱码怎么办
    1/1

    PHP中文网