docker之堆


官网

一、概念解释

,是一组分享依赖、能够被协调和扩张的相互关联的 服务。在docker之服务docker之swarm中我们就使用到堆了,只不过我们的堆都是运行在单个主机上的单个堆。然而,更经常见的是多个堆运行在不同主机上。

二、添加一个新的服务并重新部署

  1. 修改docker-compose.yml文件
version: "3"
services:
  web:
    # replace username/repo:tag with your name and image details
    image: username/repo:tag
    deploy:
      replicas: 5
      restart_policy:
        condition: on-failure
      resources:
        limits:
          cpus: "0.1"
          memory: 50M
    ports:
      - "80:80"
    networks:
      - webnet
  visualizer:
    image: dockersamples/visualizer:stable
    ports:
      - "8080:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    deploy:
      placement:
        constraints: [node.role == manager]
    networks:
      - webnet
networks:
  webnet:
  1. 确保shell是和myvm1关联的,在不同平台使用不同的命令,如:
    linux平台
docker-machine env myvm1

windows平台

& "C:\Program Files\Docker\Docker\Resources\bin\docker-machine.exe" env myvm1 | Invoke-Expression
  1. 重新部署我们的 docker stack deploy
docker stack deploy -c docker-compose.yml getstartedlab
  1. 访问。在docker-compose.yml中我们配置 visualizer 的端口为8080。所以,访问http://172.29.214.49:8080/
    在这里插入图片描述

三、存留数据

  1. 修改docker-compose.yml
version: "3"
services:
  web:
    # replace username/repo:tag with your name and image details
    image: username/repo:tag
    deploy:
      replicas: 5
      restart_policy:
        condition: on-failure
      resources:
        limits:
          cpus: "0.1"
          memory: 50M
    ports:
      - "80:80"
    networks:
      - webnet
  visualizer:
    image: dockersamples/visualizer:stable
    ports:
      - "8080:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    deploy:
      placement:
        constraints: [node.role == manager]
    networks:
      - webnet
  redis:
    image: redis
    ports:
      - "6379:6379"
    volumes:
    # 将/home/docker/data映射为/data
      - "/home/docker/data:/data"
    deploy:
      placement:
        constraints: [node.role == manager]
    command: redis-server --appendonly yes
    networks:
      - webnet
networks:
  webnet:
  1. ./data在管理器上创建一个目录,也就是/home/docker/data
docker-machine ssh myvm1 "mkdir ./data"
  1. 确保shell 是于myvm1通讯的
eval $(docker-machine env myvm1)
  1. 再跑docker stack deploy一次。
docker stack deploy -c docker-compose.yml getstartedlab
  1. 访问一个节点的网页,例如http://192.168.99.101/ ,观察 访问计数 :
    在这里插入图片描述

同时观察可视化工具
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值