Fari

Docker常用工具

docker engine

平常说的docker一般就是值docker engine,是由cli及守护程序等组成的一整个docker应用程序,简单类比为电脑上装的QQ、浏览器等软件 file

docker machine

用于管理多台安装有docker engine的主机,比如我有十台电脑,我就可以通过docker machine同时配置和管理这十台电脑上的docker。或者也可以用它创建虚拟机(在虚拟机软件上创建,例如VirtualBox)然后进行管理 file

docker compose

用于组织和编排单台主机上的docker容器,比如我希望创建一个服务,该服务包含一个nginx的docker容器,一个service的docker容器和一个mysql的docker容器。

docker swarm

将多台装有docker的主机组合成一个docker集群,并将该集群抽象成单个docker主机,所有对该抽象主机的操作都将同步到集群中各个主机上,且会对该集群的主机进行集群管理,例如容灾处理等 并且通过创建overlay网络使得集群中各主机间能正常通信

与docker machine的区别

可以简单理解为docker machine是对主机上的docker engine进行管理,docker swarm则是对docker中运行的服务进行管理。类比于一个网吧,网吧老板负责机器的采购升级等,而网管则负责将这些电脑连成一个网络并维护该网络

组合使用案例

  1. 使用docker-machine给多台机器安装和配置docker engine
  2. 使用docker-swarm将这些机器汇聚在一起,形成一个虚拟的单一的docker节点
  3. 使用docker-compose编排好你项目所需要的服务,并通过docker-swarm部署到虚拟节点上即可
Tags: