部署和管理多个容器

前面的使用方法都是在单个主机上运行容器的单个实例,不存在容器间的交互性。

Swarm 模式 能够协调运行多个Docker。Swarm 模式不仅能够定义应用程序架构(如 Compose),还能定义和维护高可用性级别、扩展、负载平衡等。凭借所有这些功能,Swarm 模式比其更简单的同类 Compose 更常在生产环境中使用。

1. 初始化

docker swarm --advertise-addr <IP_ADDR>
会得到:docker swarm join --token <token> <host>
其他人运行就会加入到这个群里面

使用 docker node ls 可以查看Swarm中的节点

Untitled

项目搭建

github上的项目

git clone <https://github.com/docker/example-voting-app>
cd example-voting-app

在管理端运行,进行堆栈部署

docker stack deploy --compose-file=docker-stack.yml voting_stack

运行docker stack ls 查看程序堆栈的服务个数

获取详细信息 docker stack services voting_stack

列出该服务的任务docker service ps voting_stack_vote

大致的结构:

Untitled

增加服务个数(在管理端)docker service scale voting_stack_vote=5

Untitled