## 简介
Docker Swarm 是 Docker公司官方在 2014 年 12月初发布的一套管理 Docker 集群的工具。它将一群 Docker 宿主机变成一个单一的,虚拟的主机。
Swarm 使用标准的 Docker API 接口作为其前端访问入口,换言之,各种形式的 Docker 工具比如 Dokku,Compose,Krane,Deis,docker-py,Docker 本身等都可以很容易的与 Swarm 进行集成。
![Swarm 结构图](https://box.kancloud.cn/2015-12-16_567122907f84f.png)
在使用 Swarm 管理docker 集群时,会有一个 swarm manager 以及若干的 swarm node,swarm manager上运行 swarm daemon,用户只需要跟 swarm manager 通信,然后 swarm manager 再根据discovery service的信息选择一个swarm node 来运行container。
值得注意的是 swarm daemon 只是一个任务调度器(scheduler)和路由器(router),它本身不运行容器,它只接受 Docker client 发送过来的请求,调度合适的 swarm node 来运行 container。这意味着,即使 swarm daemon 由于某些原因挂掉了,已经运行起来的容器也不会有任何影响。
有以下两点需要注意:
* 集群中的每台节点上面的 Docker 的版本都不能小于1.4
* 为了让 swarm manager 能够跟每台 swarm node 进行通信,集群中的每台节点的 Docker daemon 都必须监听同一个网络接口。
- 前言
- Docker 简介
- 什么是 Docker
- 为什么要用 Docker
- 基本概念
- 镜像
- 容器
- 仓库
- 安装
- Ubuntu
- CentOS
- 镜像
- 获取镜像
- 列出
- 创建
- 存出和载入
- 移除
- 实现原理
- 容器
- 启动
- 守护态运行
- 终止
- 进入容器
- 导出和导入
- 删除
- 仓库
- Docker Hub
- 私有仓库
- 配置文件
- 数据管理
- 数据卷
- 数据卷容器
- 备份、恢复、迁移数据卷
- 使用网络
- 外部访问容器
- 容器互联
- 高级网络配置
- 快速配置指南
- 配置 DNS
- 容器访问控制
- 端口映射实现
- 配置 docker0 网桥
- 自定义网桥
- 工具和示例
- 编辑网络配置文件
- 实例:创建一个点到点连接
- 实战案例
- 使用 Supervisor 来管理进程
- 创建 tomcat/weblogic 集群
- 多台物理主机之间的容器互联
- 标准化开发测试和生产环境
- 安全
- 内核名字空间
- 控制组
- 服务端防护
- 内核能力机制
- 其它安全特性
- 总结
- Dockerfile
- 基本结构
- 指令
- 创建镜像
- 底层实现
- 基本架构
- 名字空间
- 控制组
- 联合文件系统
- 容器格式
- 网络
- Docker Compose 项目
- 简介
- 安装
- 使用
- 命令说明
- YAML 模板文件
- Docker Machine 项目
- 简介
- 安装
- 使用
- Docker Swarm 项目
- 简介
- 安装
- 使用
- 调度器
- 过滤器
- Etcd 项目
- 简介
- 安装
- 使用 etcdctl
- Fig 项目
- 简介
- 安装
- 命令参考
- fig.yml参考
- 环境变量参考
- 实战 Django
- 实战 Rails
- 实战 wordpress
- CoreOS 项目
- 简介
- 工具
- 快速搭建CoreOS集群
- Kubernetes 项目
- 简介
- 快速上手
- 基本概念
- kubectl 使用
- 架构设计
- Mesos 项目
- 简介
- 安装与使用
- 原理与架构
- 配置项解析
- 常见框架
- 附录一:命令查询
- 附录二:常见仓库介绍
- Ubuntu
- CentOS
- MySQL
- MongoDB
- Redis
- Nginx
- WordPress
- Node.js
- 附录三:有用的资源