35. docker swarm dockerStack 部署 投票应用

1. 编写 docker-compose.yml

# docker-compose.yml

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:

 

2. 启动service  并  查看 service 的状态

  docker stack deploy vote -c=docker-compose.yml

  docker stack ls

  docker stack services vote

  docker stack ps vote

3. 对 vote_vote service 进行拓展

  docker service stack scale vote_vote=3

 

4. 访问

  访问 192.168.205.10:5000  进行投票

  访问 192.168.205.10:5001  查看投票情况

    访问 192.168.205.10:8080  查看容器 部署情况

 

posted @ 2019-08-27 13:51  zonehoo  阅读(244)  评论(0编辑  收藏  举报