Docker 堆栈
1. Stack
stack(译:堆叠,堆栈)是一组相互关联的服务,它们共享依赖关系,并且可以一起编排和伸缩。
在上一篇《Docker 服务》中我们知道可以通过创建一个docker-compose.yml文件,并使用docker stack deploy来部署stack。但那是运行在单机上的单个服务stack,在实际生产环境中是绝不会这样做的。因此,我们有必要掌握使多个服务彼此关联,并在多台机器上运行它们。
2. 添加一个新的服务并重新部署
(1)编辑docker-compose.yml
这里,我们添加了一个和web对等的新服务,名字叫visualizer。有两点需要注意:
- volums,它为Docker提供了对主机socket文件的可视化访问
- placement,确保该服务只在manager上运行,而不是在worker上
这是因为这个容器是由Docker创建的一个开源项目构建的,它在图中显示了运行在集群上的Docker服务
(2)更新docker-compose.yml并重新部署
(3)访问
(4)在此基础上,再添加一个redis服务
为了和之前的配置区别开,这里我们新建一个文件docker-compose-with-redis.yml
在myvm1宿主目录下创建data目录
重新部署
再访问manager的80端口,可以看到我们每访问一次,页面上的访问数量都会加1
3. 完整演示
4. 备忘单