docker集群部署:第5部分:堆栈

简介:

docker集群部署:第5部分:堆栈

  1. 介绍
    在第4部分:服务中,我们学习了如何设置swarm(集群),如运行Docker集群、部署了一个应用程序,容器在多台机器上运行等。
    在第5部分:堆栈中,将到达分布式应用程序层次结构的顶部:堆栈。堆栈是一组相互关联的服务,它们可以共享依赖关系,并且可以一起协调和缩放。单个堆栈能够定义和协调整个应用程序的功能(尽管非常复杂的应用程序可能需要使用多个堆栈)。
    好的一点是,从第3部分开始,在创建docker-compose.yml文件并使用Docker堆栈部署时,从技术上讲,我们一直在使用堆栈。但是,这是在单一主机上运行的单个服务堆栈,通常不会在生产中发生。本节将学习,使多个服务相互关联,并在多台机器上运行它们。
  2. 添加一个新服务并重新部署
    将服务添加到我们的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
  3. 查看集群情况,
    执行:
    #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部分:堆栈


     本文转自品鉴初心51CTO博客,原文链接:http://blog.51cto.com/wutengfei/2064137,如需转载请自行联系原作者


相关文章
|
9月前
|
Kubernetes 数据可视化 NoSQL
Docker Swarm集群部署lnmp+redis
Docker Swarm集群部署lnmp+redis
128 0
|
10月前
|
NoSQL Redis Docker
docker快速集群部署redis
docker快速集群部署redis
227 0
|
消息中间件 Docker 微服务
16-微服务技术栈(高级):Docker集群部署RabbitMQ
在RabbitMQ的官方文档中,讲述了两种集群的配置方式: ● 普通模式:普通模式集群不进行数据同步,每个MQ都有自己的队列、数据信息(其它元数据信息如交换机等会同步)。例如我们有2个MQ:mq1,和mq2,如果你的消息在mq1,而你连接到了mq2,那么mq2会去mq1拉取消息,然后返回给你。如果mq1宕机,消息就会丢失。 ● 镜像模式:与普通模式不同,队列会在各个mq的镜像节点之间同步,因此你连接到任何一个镜像节点,均可获取到消息。而且如果一个节点宕机,并不会导致数据丢失。不过,这种方式增加了数据同步的带宽消耗。
229 0
|
存储 NoSQL 网络协议
Docker | redis集群部署实战
Docker | redis集群部署实战
218 0
Docker | redis集群部署实战
|
JSON Kubernetes Linux
K8S 集群部署_docker 安装 | 学习笔记
快速学习 K8S 集群部署_docker 安装
102 0
K8S 集群部署_docker 安装 | 学习笔记
|
负载均衡 监控 算法
【Docker】基于实例项目的集群部署(六)数据库负载均衡 | Haproxy分发机制 | 监控负载状况
【Docker】基于实例项目的集群部署(六)数据库负载均衡 | Haproxy分发机制 | 监控负载状况
306 0
【Docker】基于实例项目的集群部署(六)数据库负载均衡 | Haproxy分发机制 | 监控负载状况
|
存储 安全 关系型数据库
【Docker】基于实例项目的集群部署(五)Docker搭建MySQL集群 | PXC集群
【Docker】基于实例项目的集群部署(五)Docker搭建MySQL集群 | PXC集群
633 0
【Docker】基于实例项目的集群部署(五)Docker搭建MySQL集群 | PXC集群
|
NoSQL Java 中间件
【Docker】基于实例项目的集群部署(四)Docker虚拟机 | Docker 指令 | Docker容器与镜像
【Docker】基于实例项目的集群部署(四)Docker虚拟机 | Docker 指令 | Docker容器与镜像
252 0
【Docker】基于实例项目的集群部署(四)Docker虚拟机 | Docker 指令 | Docker容器与镜像
|
网络协议 Linux 网络安全
【Docker】基于实例项目的集群部署(三)Linux基础命令
【Docker】基于实例项目的集群部署(三)Linux基础命令
108 0
【Docker】基于实例项目的集群部署(三)Linux基础命令
|
前端开发 Java 关系型数据库
【Docker】基于实例项目的集群部署(二)部署项目实例介绍与搭建 | 前后端分离项目
【Docker】基于实例项目的集群部署(二)部署项目实例介绍与搭建 | 前后端分离项目
156 0
【Docker】基于实例项目的集群部署(二)部署项目实例介绍与搭建 | 前后端分离项目