docker集群部署:第5部分:堆栈
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker集群部署:第5部分:堆栈相关的知识,希望对你有一定的参考价值。
docker集群部署:第5部分:堆栈
- 介绍
在第4部分:服务中,我们学习了如何设置swarm(集群),如运行Docker集群、部署了一个应用程序,容器在多台机器上运行等。
在第5部分:堆栈中,将到达分布式应用程序层次结构的顶部:堆栈。堆栈是一组相互关联的服务,它们可以共享依赖关系,并且可以一起协调和缩放。单个堆栈能够定义和协调整个应用程序的功能(尽管非常复杂的应用程序可能需要使用多个堆栈)。
好的一点是,从第3部分开始,在创建docker-compose.yml文件并使用Docker堆栈部署时,从技术上讲,我们一直在使用堆栈。但是,这是在单一主机上运行的单个服务堆栈,通常不会在生产中发生。本节将学习,使多个服务相互关联,并在多台机器上运行它们。 - 添加一个新服务并重新部署
将服务添加到我们的docker-compose.yml文件很容易。首先,我们添加一个免费的可视化器服务,让我们看看集群如何调度容器的。
在编辑器中打开docker-compose.yml,并用下面的代码替换它的内容。#cat docker-compose.yml services: web: #replace username/repo:tag with your name and image details image: friendlyhello:latest deploy: replicas: 5 restart_policy: condition: on-failure ports: - "80:80" networks: - webnet visualizer: image: dockersamples/visualizer:stable ports: - "8080:8080" volumes: - "/var/run/docker.sock:/var/run/docker.sock" deploy: placement: constraints: [node.role == manager] networks: - webnet networks: webnet:
这里新增的唯一东西就是网络对等服务,名为可视化工具。在这里看到两件新事物:一个是卷密钥,赋予可视化器访问Docker的主机套接字文件的权限,另一个是放置密钥,确保此服务只能在群集管理器上运行,不会在从机上运行。
在管理器上重新运行docker stack deploy命令,任何需要更新的服务都将被更新:#docker stack deploy -c docker-compose.yml getstartedlab Creating network getstartedlab_webnet Creating service getstartedlab_visualizer Creating service getstartedlab_web
- 查看集群情况,
执行: #docker stack ps getstartedlab
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS sx2vzeq6arsa getstartedlab_visualizer.1 dockersamples/visualizer:stable swarm1 Running Running 21 seconds ago 5atk91uju2sr getstartedlab_web.1 friendlyhello:latest swarm2 Running Running 23 seconds ago 8cklhjg8f69w getstartedlab_web.2 friendlyhello:latest swarm2 Running Running 23 seconds ago aakf7bu9svwf getstartedlab_web.3 friendlyhello:latest swarm1 Running Running 23 seconds ago w3qfs8mmrhz9 getstartedlab_web.4 friendlyhello:latest swarm2 Running Running 23 seconds ago d8mkbmrm8pr5 getstartedlab_web.5 friendlyhello:latest swarm1 Running Running 22 seconds ago
截图如下:
以上是关于docker集群部署:第5部分:堆栈的主要内容,如果未能解决你的问题,请参考以下文章