专栏首页编程坑太多『中级篇』Docker-Stack部署投票应用(50)
原创

『中级篇』Docker-Stack部署投票应用(50)

原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!

原文链接地址:『中级篇』Docker-Stack部署投票应用(50)

之前用docker-compose创建过投票应用,现在通过docker-stack来创建多机的部署。源码:https://github.com/limingios/docker/tree/master/No.5/labs/wordpress

######docker-compose文件

编辑docker-compose文件,从github下载下来。

这个配置文件里面装了一个可视化的配置工具visualizer:stable 可以查看到docker-swarm 所有的节点信息。

cd labs/
cd example-vote-app/
more docker-compose.yml 
  • compose的语法
version: "3"
services:

  redis:
    image: redis:alpine
    ports:
      - "6379"
    networks:
      - frontend
    deploy:
      replicas: 2
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure

  db:
    image: postgres:9.4
    volumes:
      - db-data:/var/lib/postgresql/data
    networks:
      - backend
    deploy:
      placement:
        constraints: [node.role == manager]

  vote:
    image: dockersamples/examplevotingapp_vote:before
    ports:
      - 5000:80
    networks:
      - frontend
    depends_on:
      - redis
    deploy:
      replicas: 2
      update_config:
        parallelism: 2
      restart_policy:
        condition: on-failure

  result:
    image: dockersamples/examplevotingapp_result:before
    ports:
      - 5001:80
    networks:
      - backend
    depends_on:
      - db
    deploy:
      replicas: 1
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure

  worker:
    image: dockersamples/examplevotingapp_worker
    networks:
      - frontend
      - backend
    deploy:
      mode: replicated
      replicas: 1
      labels: [APP=VOTING]
      restart_policy:
        condition: on-failure
        delay: 10s
        max_attempts: 3
        window: 120s
      placement:
        constraints: [node.role == manager]

  visualizer:
    image: dockersamples/visualizer:stable
    ports:
      - "8080:8080"
    stop_grace_period: 1m30s
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    deploy:
      placement:
        constraints: [node.role == manager]

networks:
  frontend:
  backend:

volumes:
  db-data:
投票docker-stack 部署
docker stack deploy example --compose-file=docker-compose.yml
docker stack ls
docker stack services example
  • 打开网页 http://172.28.128.3:5000/ http://172.28.128.3:5001/ http://172.28.128.3:8080/
  • 扩展votedocker service scale example_vote=4
  • 删除stackdocker stack rm example

PS:docker stack 就介绍到这里吧,其实最关键的是编写docker-compose.yml查看官网的学习方式。对于本次编写的一些关键字建议看看官网学习下。


原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 『中级篇』Docker-Stack部署投票应用(50)

    这个配置文件里面装了一个可视化的配置工具visualizer:stable 可以查看到docker-swarm 所有的节点信息。

    IT故事会
  • 「走进k8s」Docker管理神器-图形化管理和监控(10)

    PS:这次给大家介绍了图形化的管理工具portainer和cAdvisor,在后面学习k8s的时候都会经常的使用这个cAdvisor。

    IT故事会
  • 『中级篇』构建自己的Docker镜像(16)

    PS:为啥推荐用Dockerfile的方式,因为文件可以随便编辑,如果你用容器的话,你发给别人如何发麻烦不?还是单文件方便吧。

    IT故事会
  • 『中级篇』Docker-Stack部署投票应用(50)

    这个配置文件里面装了一个可视化的配置工具visualizer:stable 可以查看到docker-swarm 所有的节点信息。

    IT故事会
  • 『中级篇』构建自己的Docker镜像(16)

    PS:为啥推荐用Dockerfile的方式,因为文件可以随便编辑,如果你用容器的话,你发给别人如何发麻烦不?还是单文件方便吧。

    IT故事会
  • 『中级篇』Docker 水平扩展和负载均衡(40)

    PS:Docker的scale 可以扩展,也可以所有,他们自动来控制的。web=10 可以改成5 其中的6,7,8,9,10就被删除了。

    IT故事会
  • Docker快速上手指北(一)【技术创作101训练营】

    帮助文档的地址:https://docs.docker.com/engine/reference/commandline/docker/

    yussuy
  • 在Docker中使用Redis

    本文章将介绍如何使用 Docker 探索 Redis。我们可以在 Docker for Windows 、Docker for mac 或者 Linux 模式下...

    smartsi
  • Docker实践(一):Ubuntu16.04安装Docker

    Docker分为开源免费的CE(Community Edition)版本和收费的EE(Enterprise Edition)版本,本文安装社区版,该版本也是开发...

    loong576
  • 一行命令安装docker和docker-compose(CentOS7)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    程序员欣宸

扫码关注云+社区

领取腾讯云代金券