上传一份docker swarm的yaml文件

本文介绍如何使用Docker Swarm进行服务部署,包括创建overlay网络、编写Docker Compose配置文件以部署各类服务如dispatcher、visualizer、redis、zookeeper等,并通过示例脚本展示整个部署流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、 创建overlay网络

 docker network create --driver overlay app

2、编写yaml配置文件 

[root@izj6ce8rjhet0gdu35qpm2z cpct]# cat docker-compose-dispatcher.yml 
version: "3"

services:
  dispatcher:
    image: advf/dispatcher:latest
    hostname: dispatcher
    ports:
      - "8090:8080"
    networks:
      - app
    environment:
      zookeeper.host: zookeeper://zookeeper-dk:2181
    deploy:
      placement:
        constraints: [node.role == manager]

  eth-sync:
    image: advf/eth-sync:latest
    ports:
      - "8093:8093"
    networks:
      - app
    environment:
      zookeeper.host: zookeeper://zookeeper-dk:2181
    deploy:
      placement:
        constraints: [node.role == manager]

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

networks:
  app:
    external: true

3、编写redis和zookeeper yaml配置文件

[root@izj6ce8rjhet0gdu35qpm2z ~]# cat docker-compose.yml 
version: "3"

services:

  redis-dk:
    image: redis
    restart: always
    container_name: redis-dk
    hostname: redis-dk
#    ports:
#      - "6379:6379"
    networks:
      - app
    deploy:
      placement:
        constraints: [node.role == manager]

  zookeeper-dk:
    image: zookeeper
    restart: always
    container_name: zookeeper-dk
    hostname: zookeeper-dk
    ports:
      - "2181:2181"
#    volumes:
#      - /root/cpct/zookeeper/data:/data
#      - /root/cpct/zookeeper/datalog:/datalog
    networks:
      - app
    deploy:
      placement:
        constraints: [node.role == manager]
  data-service:
    image: advf/data-service:latest
#    ports:
#      - "8092:8092"
#      - "20880:20880"
    networks:
      - app
    depends_on:
      - redis-dk
      - zookeeper-dk
    environment:
      zookeeper.host: zookeeper://zookeeper-dk:2181
    deploy:
      placement:
        constraints: [node.role == manager]

networks:
  app:
    external: true

3、启动脚本

[root@izj6ce8rjhet0gdu35qpm2z ~ ]# cat deploy_swarm.sh
#!/usr/bin/env bash
docker stack deploy -c docker-compose.yml swarm
sleep 20
docker stack deploy -c docker-compose-dispatcher.yml swarm

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yunson_Liu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值