使用swarm组织集群

swarm init 创建集群

然后会打印出 swarm join ,在另一台机器上输入

查看集群

bash 复制代码
docker node ls

解散集群 swarm node leave --forece

部署

bash 复制代码
# 创建网络
docker network create  --driver=overlay --subnet=10.110.1.0/24 blocknet
docker stack deploy -c docker-compose.yml mystack

docker-compose.yml 如下

yaml 复制代码
version: '3'
services:
  supervisor:
    image: emulator:latest
    cap_add:
      - NET_ADMIN
    deploy:
      placement:
        constraints:
          - node.id == ex1gf143dc9cvvd778fzca6os
    volumes: 
      - /home/rkzhang/image/emulator_mount:/root/emulator_mount
    ports:
      - "52100:22"
    networks:
      - blocknet 
  node0:
    image: emulator:latest
    cap_add:
      - NET_ADMIN
    deploy:
      placement:
        constraints:
          - node.id == 9yypexmyozsgaayzw38ntkahm
    volumes:
      - /home/dd/emulator_mount:/root/emulator_mount
    ports:
      - "50000:22"
    networks:
      - blocknet 

  node1:
    image: emulator:latest
    cap_add:
      - NET_ADMIN
    deploy:
      placement:
        constraints:
          - node.id == ex1gf143dc9cvvd778fzca6os
    volumes:
      - /home/rkzhang/image/emulator_mount:/root/emulator_mount
    ports:
      - "50001:22"
    networks:
      - blocknet 
  
networks:
  blocknet:
    external: true
    name: blocknet
bash 复制代码
docker service ls

hostname 和 servicename 不一致

在docker network inspect 命令中可以查看每个容器的ip(如果指定了ip网段)

但是使用 ip addr show 和 dig dns解析出来的ip 不一致,是因为使用了 vip 通信。

可以使用 tasks.<service-name> ,这样解析出来 service-name的ip就是容器的 ip addr show的ip 也和docker network inspect中的ip一致

相关推荐
极客先躯1 小时前
高级java每日一道面试题-2026年03月30日-实战篇[Docker]-如何监控容器的网络流量?
java·运维·docker·容器·prometheus·高级面试
大E帝国子民13 小时前
Docker 部署 RocketMQ 5
docker·容器·rocketmq
江湖有缘4 小时前
【保姆级教程】使用Docker Compose一键搭建Picsur私有图床服务
java·docker·容器
阿乔外贸日记6 小时前
意大利进口主力产品及主要合作供应国
大数据·人工智能·物联网·搜索引擎·云计算
云服务器代理商7 小时前
AWS Bedrock 指南:模型接入、Knowledge Base RAG、Agents 与计费方式
云计算·aws·亚马逊云服务器·aws bedrock·aws代理·亚马逊云代理商
spider_xcxc7 小时前
阿里云NAS配置完全指南:从概念到实战
阿里云·云计算
java_logo7 小时前
5 分钟共享打印机:用 Docker 一键部署 CUPS
运维·docker·容器·cups·网络打印机·共享打印机·docker部署cups
fen_fen7 小时前
Docker部署PostgreSQL10 开启SSL和证书安装文档
docker·容器·ssl
我登哥MVP8 小时前
Hadoop成长史-从Nutch子项目到大数据生态王者
java·大数据·hadoop·分布式·云原生·云计算
EnCi Zheng9 小时前
N3A-一个端口只能给一个程序使用吗?[特殊字符]
网络·nginx·docker