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

相关推荐
__lll_1 小时前
Docker 从入门到实战:容器、镜像与 Compose 全攻略
前端·docker
Britz_Kevin2 小时前
从零开始的云计算生活——第四十六天,铁杵成针,kubernetes模块之Configmap资源与Secret资源对象
kubernetes·云计算·生活
柏成2 小时前
写给前端仔仔的docker实战
前端·docker·面试
Akamai中国2 小时前
AI需要防火墙,云计算需要重新构想
人工智能·云计算·云服务
Britz_Kevin2 小时前
从零开始的云计算生活——第四十七天,细水长流,kubernetes模块之ingress资源对象
kubernetes·云计算·生活
进击的阿尔法猿4 小时前
docker
运维·docker·容器
木易双人青11 小时前
01-Docker-简介、安装与使用
运维·docker·容器
MX_935914 小时前
阿里云参数配置化
阿里云·云计算
AKAMAI14 小时前
通过自动化本地计算磁盘与块存储卷加密保护数据安全
人工智能·云计算
AI大模型19 小时前
基于 Docker 的 LLaMA-Factory 全流程部署指南
docker·llm·llama