- 运行docker-compose.yml文件
docker stack deploy -c docker-compose.yml xx
docker stack deploy -c docker-compose.yml chain-monitor
xx 为运行的项目的服务每名称
- 如果报错:
Error response from daemon: This node is not a swarm manager.
Use "docker swarm init" or "docker swarm join" to connect this node to swarm and try again.
可以docker info用来查看Swarm属性(inactive或active)的结果。
如果是Swarm: inactive
则需要将该节点加入swarm管理器
初始化管理器
``
docker swarm init --advertise-addr 192.168.99.100
``
将节点加入管理器
``
docker swarm join --token TOKEN PUBLIC_IP:2377
``
## 创建Docker Swarm Manager
Docker Swarm Manager的目的是代表集群接收命令并将容器分配给节点。
群体管理器使用筏共识算法来管理群体状态。
“筏共识”算法可确保负责管理和调度集群中任务的所有管理器节点都存储相同的一致状态。如果发生故障,则单个节点承担任务并恢复稳定状态。
在本指南中,我们创建一个单一的Swarm Manager。如果您的目标是高可用性,则可以创建多个经理。
1. 登录到为Swarm管理器选择的Linode并初始化管理器。`PUBLIC_IP`在此示例中,用您的Linode的[公共IP地址]替换:
``
docker swarm init --advertise-addr PUBLIC_IP
Docker使用节点加入Swarm所需的命令进行响应:
``
``
docker info --format '{{.Swarm.ControlAvailable}}'
true 才能开始部署
``
2. 使用`docker info`来验证您的群运行和积极的:
``
docker info
``
[Swarm正在运行且处于活动状态]
## 将节点加入管理器
在上一节的步骤1中,该`docker swarm init`命令输出有关如何加入管理器的指令。
``
docker swarm join --token TOKEN PUBLIC_IP:2377
``
TOKEN初始化Swarm时,显示给您的长字符串是哪里,是`PUBLIC_IP`Swarm Manager Linode面向公众的IP地址。如果您不记得令牌,
请`join-token`在管理器上运行以查看`swarm init`命令中的信息:
``
docker swarm join-token worker
``
1. 要将节点加入Swarm,请`docker swarm join`从该节点运行。
`TOKEN`从上一节中的步骤1 更改为令牌,并`PUIBLIC_IP`更改为管理员的公共IP:
``
docker swarm join --token TOKEN PUBLIC_IP:2377
``
输出显示该节点已作为工作组加入了集群。您现在有了一个小型Docker Swarm集群,其中包含一个管理器和一个节点:
2. 重复步骤1,根据需要将尽可能多的节点加入Swarm。
3. 在管理器上,用于`docker node ls`查看有关管理器的信息以及所有节点的列表:
``
docker node ls
``
注释:PUBLIC_IP 为
![](https://i-blog.csdnimg.cn/blog_migrate/15bee7be64a8dceafa62d73533f384a3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a0a61ae1182e202d5a8947a80d97d182.png)
4.查看服务状态:
查看服务的运行信息:
docker service logs chain-monitor_tasker -f
docker service logs yzsg4z3bbtss -f
可以是容器号也可以是容器ID
查看服务列表:
docker service ls