这几天再写k8s知识,发现在介绍k8s前,还需要说下docker相关知识,才能更好理解K8S用途,于是便收集了docker知识,简单说下,加深理解
1 Docker架构概述
Docker 是一种可供部署的容器平台,受到多家公司的支持,Docker 采用客户端与服务器架构:
客户端
命令行工具 (docker) 负责与服务器通信,它使用 RESTful API 请求操作
服务器
此服务作为操作系统上的守护进程运行,承担构建、运行和下载容器镜像的繁重任务,守护进程可以和 docker 客户端在同一系统中运行
2Docker核心元件
镜像
镜像是只读模板,含有应用库和应用的运行时环境,镜像用于创建容器。可以创建、更新或下载镜像,以供直接使用。可以简单理解成虚机VM模板
仓库
仓库存储镜像,以满足公共或私有的用途,知名的公共仓库为 Docker Hub,它存储了由社区开发的诸多镜像,但也可依据公司的决定,通过创建私有仓库来支持内部,如habor。
容器
容器是隔离的用户空间环境,让应用与共享同一主机操作系统的其他应用分开运行,将所有进程可见的特定系统资源放在一个命名空间中。在一个命名空间中,只有属于该命名空间的进程才能看到这些资源,包括网络接口、进程 ID列表、挂载点以及系统本身的主机名称信息。可以理解成是某个应用所运行的所有资源集合,包括系统环境。
3 docker和K8S 关系
Docker提供基本容器管理 API 和容器镜像文件格式
Kubernetes 管理运行容器的(物理或虚拟)主机群集
个人理解是 docker是企业里某个运行的生产线,K8S 属于企业的厂房,每个厂房里可以存在多个生产线,并对产线运行进行调度管理。