今天docker运行了consul后:打开界面
百度了其他人,说换火狐浏览器就行。结果不管用
然后我就测试了下代码:发现也失败了:OperationException(statusCode=500, statusMessage='Internal Server Error', st........................
百度无果。我发现命令docker命令有问题:
docker run --name consul1 -d -p 8500:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600 consul agent -server -bootstrap-expect=1 -ui -bind=0.0.0.0 -client=0.0.0.0
参数如下:
–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 提供图形化的界面。
由于我是单机 而设置的 bootstrap-expect = 2.所以。。。
把他改写成1.启动
大功告成