docker 单机安装consul

为什么选consul

Spring Cloud 支持的服务发现软件以及特性对比:

Feature euerka Consul zookeeper etcd
服务健康检查 可配支持 服务状态,内存,硬盘等 (弱)长连接,keepalive 连接心跳
多数据中心 支持
kv 存储服务 支持 支持 支持
一致性 raft paxos raft
cap ap ca cp cp
使用接口(多语言能力) http(sidecar) 支持 http 和 dns 客户端 http/grpc
watch 支持 支持 long polling/大部分增量 全量/支持long polling 支持 支持 long polling
自身监控 metrics metrics metrics
安全 acl /https acl https 支持(弱)
spring cloud 集成 已支持 已支持 已支持 已支持

 

docker 安装 consul

1、拉取镜像

docker search consul

docker pull consul

2、启动镜像

docker run -d --name consulserver1 --net=host -e'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' consul agent -server -bind=10.1.54.162 -bootstrap-expect=1  -client 0.0.0.0 -ui

–net=host docker参数, 使得docker容器越过了netnamespace的隔离,免去手动指定端口映射的步骤

-server consul支持以server或client的模式运行, server是服务发现模块的核心, client主要用于转发请求

-advertise 将本机私有IP传递到consul

-bootstrap-expect 指定consul将等待几个节点连通,成为一个完整的集群

-retry-join 指定要加入的consul节点地址,失败会重试, 可多次指定不同的地址

-client consul绑定在哪个client地址上,这个地址提供HTTP、DNS、RPC等服务,默认是127.0.0.1

-bind 该地址用来在集群内部的通讯,集群内的所有节点到地址都必须是可达的,默认是0.0.0.0

-allow_stale 设置为true, 表明可以从consul集群的任一server节点获取dns信息, false则表明每次请求都会经过consul server leader

--name DOCKER容器的名称

-client 0.0.0.0 表示任何地址可以访问。

-ui  提供图形化的界面。
 

3、验证是否成功

地址:http://10.1.54.162:8500/ui

docker 单机安装consul_第1张图片

你可能感兴趣的:(docker)