Update Swarm mode
parent
584a3696a1
commit
990f85cb5b
|
@ -51,6 +51,8 @@ docker@worker1:~$ docker swarm join \
|
||||||
This node joined a swarm as a worker.
|
This node joined a swarm as a worker.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
*注意:* 一些细心的读者可能通过 `docker-machine create --help` 查看到 `--swarm*` 等一系列参数。该参数是用于旧的 `Docker Swarm`,与本章所讲的 `Swarm mode` 没有关系。
|
||||||
|
|
||||||
### 查看集群
|
### 查看集群
|
||||||
|
|
||||||
经过上边的两步,我们已经拥有了一个最小的 `Swarm` 集群,包含一个管理节点和两个工作节点。
|
经过上边的两步,我们已经拥有了一个最小的 `Swarm` 集群,包含一个管理节点和两个工作节点。
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
## 基本概念
|
## 基本概念
|
||||||
|
|
||||||
|
`Swarm` 是使用 [`Swarmkit`](https://github.com/docker/swarmkit/) 构建的 Docker 引擎内置(原生)的集群管理和编排工具。
|
||||||
|
|
||||||
使用 `Swarm` 集群之前需要了解以下几个概念。
|
使用 `Swarm` 集群之前需要了解以下几个概念。
|
||||||
|
|
||||||
### 节点
|
### 节点
|
||||||
|
@ -8,10 +10,18 @@
|
||||||
|
|
||||||
节点分为管理 (`manager`) 节点和工作 (`worker`) 节点。
|
节点分为管理 (`manager`) 节点和工作 (`worker`) 节点。
|
||||||
|
|
||||||
管理节点用于 `Swarm` 集群的管理,`docker swarm` 命令基本只能在管理节点执行。一个 `Swarm` 集群可以有多个管理节点,但只有一个管理节点可以成为 `leader`,`leader` 通过 `raft` 协议实现,参数可配置。
|
管理节点用于 `Swarm` 集群的管理,`docker swarm` 命令基本只能在管理节点执行(节点退出集群命令 `docker swarm leave` 可以在工作节点执行)。一个 `Swarm` 集群可以有多个管理节点,但只有一个管理节点可以成为 `leader`,`leader` 通过 `raft` 协议实现。
|
||||||
|
|
||||||
工作节点是任务执行节点,管理节点将服务 (`service`) 下发至工作节点执行。管理节点默认也作为工作节点。
|
工作节点是任务执行节点,管理节点将服务 (`service`) 下发至工作节点执行。管理节点默认也作为工作节点。你也可以通过配置让服务只运行在管理节点。
|
||||||
|
|
||||||
### 服务
|
### 服务和任务
|
||||||
|
|
||||||
服务 (`Services`) 是指一组容器的集合,服务定义了这些容器的属性。
|
任务 (`Task`)是 `Swarm` 中的最小的调度单位,目前来说就是一个单一的容器。
|
||||||
|
|
||||||
|
服务 (`Services`) 是指一组任务的集合,服务定义了任务的属性。服务有两种模式:
|
||||||
|
|
||||||
|
* `replicated services` 按照一定规则在各个工作节点上运行指定个数的任务。
|
||||||
|
|
||||||
|
* `global services` 每个工作节点上运行一个任务
|
||||||
|
|
||||||
|
两种模式通过 `docker service create` 的 `--mode` 参数指定。
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
## 在 Swarm 集群中使用 docker-compose.yml
|
## 在 Swarm 集群中使用 compose 文件
|
||||||
|
|
||||||
正如之前使用 `docker-compose.yml` 来一次启动、管理多个容器,在 `Swarm` 集群中也可以使用 `docker-compose.yml` 来配置多个服务。
|
正如之前使用 `docker-compose.yml` 来一次配置、启动多个容器,在 `Swarm` 集群中也可以使用 `compose` 文件 (`docker-compose.yml`) 来配置、启动多个服务。
|
||||||
|
|
||||||
上一节中,我们使用 `docker service create` 一次只能部署一个服务,使用 `docker-compose.yml` 我们可以一次启动多个关联的服务。
|
上一节中,我们使用 `docker service create` 一次只能部署一个服务,使用 `docker-compose.yml` 我们可以一次启动多个关联的服务。
|
||||||
|
|
||||||
|
@ -62,7 +62,7 @@ networks:
|
||||||
|
|
||||||
### 部署服务
|
### 部署服务
|
||||||
|
|
||||||
部署服务使用 `docker stack deploy`,其中 `-c` 参数指定 Compose 文件名。
|
部署服务使用 `docker stack deploy`,其中 `-c` 参数指定 compose 文件名。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker stack deploy -c docker-compose.yml wordpress
|
$ docker stack deploy -c docker-compose.yml wordpress
|
||||||
|
|
Loading…
Reference in New Issue