设为首页 收藏本站
查看: 924|回复: 0

[经验分享] docker集群部署:第5部分:堆栈

[复制链接]

尚未签到

发表于 2018-5-26 11:17:15 | 显示全部楼层 |阅读模式
  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
      截图如下:
    DSC0000.jpg


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-481299-1-1.html 上篇帖子: docker + kubernetes=共生?相爱相杀? 下篇帖子: 五分钟学会Docker(基础篇)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表