大多数人提到的 Docker 其实指的是 Docker Engine,这是一个构建和运行的容器(容器化:一台物理机安装多个容器实例,一个容器跑多个程序)在运行容器前需要编写Docker File,通过 docker File 生成镜像,然后才能运行 Docker 容器。
经常会有人把docker与k8s一并提到,其实 Docker 和 k8s 并非直接的竞争对手,它俩相互依存, Docker 是一个容器化平台,而 k8s 是 Docker 等容器平台的协调器,当业务达到一定规模的时候,就不仅仅只需要docker了,还需要k8s来做协调。
其实应该和 k8s 作比较的是Docker Swarm :
Docker Swarm 是 Docker 自家针对集群化部署管理的解决方案,优点很明显,可以更紧密集成到 Docker 生态系统中。但是2019年底Docker Enterprise已经出售给Mirantis,Mirantis声明要逐步淘汰Docker Swarm,后续会将 k8s 作为默认编排工具。
k8s 是kubernets的缩写,’8‘代表中间的八个字符。K8s是Google研发的容器协调器,已捐赠给CNCF,现已开源。Google 利用在容器管理多年的经验和专业知识推出了 k8s,主要用于自动化部署应用程序容器,可以支持众多容器化工具包括现在非常流行的Docker。