Docker10

docker compose swarm machine simply study

This project is maintained by wangfakang

docker的生态圈Machine、Swarm、Compose:

  machine,swarm,compose俗称docker的三剑客,通过machine解决docker的运行环境,compose管理dockerfile的编译, 通过swarm进行管理docker的集群以及如何进行调度负载.   

Machine:

 解决的是操作系统异构安装Docker困难的问题,没有Machine的时候,CentOS是一种,Ubuntu又是一种,AWS又是一种。 有了Machine,所有的系统都是一样的安装方式。
 项目地址

Swarm:

  我们有了Machine就意味着有了docker环境,但是那是单机的,而通常我们的应用都是集群的。这正是Swarm要做的事情, 给你提供docker集群环境和调度策略等。
调度策略:
  在执行swarm manage命令启动 swarm 集群的时候可以通过 --strategy 参数来指定,默认的是spread.
spread和binpack策略会根据每台节点的可用CPU,内存以及正在运行的containers的数量来给各个节点分级, 而random策略是随机的一种.
  其中spread是会根据swarm会选择一个正在运行的container的数量最少的那个节点来运行container.     binpack 则相反,这种情况下,swarm会尽可能的把所有的容器放在一台节点上面运行。这种策略会避免容器碎片化, 因为他会把未使用的机器分配给更大的容器.
项目地址

Compose:

   Dockerfile 可以让用户管理一个单独的应用容器;而 Compose 则允许用户在一个模板(YAML 格式)中定义一组相关联 的应用容器(被称为一个 project,即项目),比如一个 Web 服务容器再加上后端的数据库服务容器等。Compose简化了这个流程, 只需要把这些内容固话到docker-compose.yml中。
项目地址

目前Machine、Swarm、Compose已经可以结合使用,创建集群环境,简单的在上面部署应用。

欢迎一起交流学习

在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流

Thx

Author