美文网首页
kubernetes——pod和docker容器的关系

kubernetes——pod和docker容器的关系

作者: Hughman | 来源:发表于2021-12-06 19:34 被阅读0次

    关注WX:CodingTechWork,一起学习进步。

    引言

      在做k8s或者docker相关工作时,有没有一个疑问,什么是docker容器?什么是pod?容器和pod又有什么关系?

    容器

    1. docker包括三个概念:镜像(image),容器(container)、仓库(repository)
    2. 容器就是镜像运行时的实体,镜像和容器的关系类比与Java面向对象程序设计中的类和实例是一样的概念。
    3. 每个容器的文件系统与其他容器是隔离的。
    4. 容器可以被创建、启动、停止、删除以及暂停等。
    5. 容器的实质是进程,运行于属于自己独立的命名空间。
    6. 容器内的存储层是跟随容器变化的,生命周期同容器保持一致。容器删除,则存储层信息丢失。所以存储东西最好使用存储卷(volume)、绑定宿主目录等方式。
    7. 容器是应用程序层的一种抽象,将代码和依赖关系打包在一起,可以多个容器同时运行在同一台机器上,并与其他容器共享操作系统内核。

    pod

    1. pod是k8s调度的最小单元
    2. 1个pod可以包含1个或多个容器,可以理解为pod是容器集合。
    3. pod相当于逻辑主机,每个pod通过describe可以看到都有自己的ip地址。
    4. pod内的容器可以共享相同的ip和端口空间
    5. 进入pod后,正常的linux命令可以使用,若pod内包含多个容器,进入到每个容器都相当于进入了一个逻辑主机。

    容器和pod关系

    1个pod可以包含1个或多个容器,可以理解为pod是容器的容器。我们可以通过kubectl describe pod <pod_name> -n <namespace_name>命令查看对应pod的容器信息,或者直接查看yaml源文件。

    1个pod对应1个容器

    在这里插入图片描述

    1个pod对应多个容器

    在这里插入图片描述

    相关文章

      网友评论

          本文标题:kubernetes——pod和docker容器的关系

          本文链接:https://www.haomeiwen.com/subject/gotuxrtx.html