天天看点

运维面试小技巧之docker的三剑客【Docker Compose、Docker Machine、Docker Swarm】和各自的角色扮演

docker的三剑客(三驾马车)

三者简介

Docker Compose

  • 负责快速的部署分布式应用,compose是用来定义和运行一个或多个容器应用的工具使用,可以简化容器镜像的建立及容器的运行, 使用 YAML 文件来定义多容器之间的关系,基于python语言开发,非常适合在单机环境里部署一个或多个容器,并自动把多个容器互相关联起来,开源网址https://github.com/docker/compose

简单说,简化容器的生成和运行,文件以yaml结尾【不以yaml结尾时,需用 -f参数指引文件运行】

Docker Machine

  • Docker Machine 是一个简化Docker 安装的命令行工具,负责在多种平台上快速安装 Docker 环境,通过一个简单的命令行即可在相应的平台上安装 Docker,为用户提供了灵活的功能,使得用户可以在任一主机上运行 Docker 容器,基于Go语言实现,目前在Github上进行维护

简单说,一个 Docker Machine 就是一个 Docker host 主机和经过配置的 Docker client 的结合体

Docker Swarm

  • 是使用SwarmKit构建的 Docker 引擎内置(原生)的集群管理和编排工具。Docker Swarm是 Docker 官方三剑客项目之一,提供 Docker 容器集群服务,是 Docker 官方对容器云生态进行支持的核心方案

简单说,集群化部署管理docker

角色扮演【应用/功能】

dcoker-compose主要是解决本地docker容器编排问题

docker-machine是解决docker运行环境问题

docker-swarm是解决多主机多个容器调度部署的问题【集群】