使用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一致

相关推荐
光电大美美-见合八方中国芯3 小时前
用于无色波分复用光网络的 10.7 Gb/s 反射式电吸收调制器与半导体光放大器单片集成
网络·后端·ai·云计算·wpf·信息与通信·模块测试
wb1894 小时前
NoSQL数据库Redis集群重习
数据库·redis·笔记·云计算·nosql
sbjdhjd5 小时前
Docker | 核心概念科普 + 保姆级部署
linux·运维·服务器·docker·云原生·面试·eureka
摇滚侠5 小时前
Vmvare 虚拟机安装 Linux CentOS 7 操作系统 一键安装 Docker 1Panel 一键安装 MySQL Redis OpenClaw
linux·docker·centos
comedate5 小时前
【OpenClaw】 Open-WebUI Docker 部署连接本地 Ollama 技术文档
docker·ollama·openwebui·openclaw
川trans5 小时前
基于 Docker & K8s 的 MySQL 容器化部署与应用关联实践
mysql·docker·kubernetes
BullSmall6 小时前
Prometheus 可以监控docker 部署的Nginx 吗?
nginx·docker·prometheus
朱建伟6 小时前
跟我一起玩转PVE
云计算
阿沁QWQ6 小时前
Docker 核心技术和实现原理
运维·docker·容器
Tom Ma.6 小时前
Docker 安装 OpenClaw
运维·docker·容器