04.fabric的swarm集群布署:docker

首先swarm集群为什么使用docker-composer v3来发布:

现在只有v3支持deploy属性(是docker swarm相关配置)

参考:https://docs.docker.com/compose/compose-file/compose-versioning/#version-3 (这里面有v2和v3的配置区别)

docker-composer.yaml文件内容说明:

1version: '3' 2#这个可以填1.0-3.3据体版本号是否支持要对应的docker版本(越高支持越多,但也删除了不少功能) 3#https://docs.docker.com/compose/compose-file/#reference-and-guidelines 支持情况参考此地址

说明:

docker-composer使用swarm容器时很多标签没法使用

1.container_name 容器名称

2.links 关链联接

3.extends (吐血,v3不支持,可能以后会支持)

4. env 环境变量(再吐血....)

现在只举一个docker-compose-zk.yaml配置说明:

1version: '3' #使用docker-composer版本3+ 2services: 3 zookeeper0:#这个是service服务名,在一个overlay中可以直接ping zookeeper0可以通 4 image: hyperledger/fabric-zookeeper:x86_64-1.0.3 5 deploy: #service服务发布信息 6 replicas: 1 #应用被复制的份数 7 update_config: #更新service的说明 8 parallelism: 1 #//TODO 9 delay: 10s 10 restart_policy: 11 condition: on-failure#启动或service服务错误后重启服务 12 delay: 5s 13 max_attempts: 3 #最多重启3次,超过重启次数最好在portainer中重启,而不是docker start方式 14 placement: 15 constraints: #使用布署约束,可以指定布署到相应条件下的节点上 16# - node.hostname==fabric_node_01 #hostname可能会被更新或指定,不建议使用这个 17 - node.labels.fabric_node_01==fabric_node_01 #指定要安装到node上有labels[fabric_node_01]的机子上 18 hostname: zookeeper0 #service的hostname 可有可无 19 networks: 20 blockchain-network:#这个是overlay的网络配置,指定了使用blockchain-network网络,必须在最外层配置好 21 aliases: 22 - zookeeper0 #这个指定后可以在overlay网内通过这个名称访问到这个服务(即ping到这个服务) 23 environment: 24 - ZOO_DATA_DIR=/data #zk的服务生成的目录,这个必须指定,并用volumes指定到服务外 25 - ZOO_MY_ID=1 #这个zk集群的本服务id,只要不唯一即可 26 - ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 #这个就不说了 27 volumes: 28 - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime #映射本地文件夹,指定容器为东829 - /opt/fabric_data/fabric_node_01/zk/data:/data 30#映射本地文件夹,应射前一定要先mkdir -p创建好这个文件夹,把关键数据映射出去,服务自动重启后数据不会丢失(相当于服务和存储分离了),这里只用的本机映射的方式,这个是volumes相关的东西,还可以应映到存储云或nfs节点上 31#可以自个创建一个volume,文件映射到这个volume上,volume可以加密,云存储,灾难备份等功能 32 zookeeper1: 33 image: hyperledger/fabric-zookeeper:x86_64-1.0.3 34 deploy: 35 replicas: 1 36 update_config: 37 parallelism: 1 38 delay: 10s 39 restart_policy: 40 condition: on-failure 41 delay: 5s 42 max_attempts: 3 43 placement: 44 constraints: 45 - node.labels.fabric_node_04==fabric_node_04 46 hostname: zookeeper1 47 networks: 48 blockchain-network: 49 aliases: 50 - zookeeper1 51 environment: 52 - ZOO_DATA_DIR=/data 53 - ZOO_MY_ID=2 54 - ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 55 volumes: 56 - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime 57 - /opt/fabric_data/fabric_node_04/zk/data:/data 58 depends_on: 59 - zookeeper0 #容器启动前先要启动zookeeper0 60networks: #最外层的网络指定配置,这里可以写多个网络 61 blockchain-network: 62 external: 63 name: blockchain-network

swarm服务要使用overlay网格:

1#创建overlay网络 2docker network create --driver overlay --subnet=10.199.1.0/24 blockchain-network --attachable

最后就是端口开放了,这个前面说过了

docker-compser的官方文档地址:https://docs.docker.com/compose/compose-file/

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

KVM调整cpu和内存

一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid