您的位置:首页 > 运维架构 > Docker

consul docker register

2016-07-19 00:00 597 查看

docker consul register

在很多就得文档中都是用的
progrium/registrator
但是 在github 中已经换成了 gliderlabs/registrator

gliderlabs/registrator
docker pull gliderlabs/registrator
docker run -it -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator consul://{consul-node}:8500

** 如果发生权限错误 ** 在其中加上这一句话 --privileged=true

-internal		使用 容器暴露的port 和使用容器的Ip
-ip <ip address>        声明 Ip 地址,可以告诉服务是运行在那台机的,否则的话,consul 系统会将 Address 设置为 consul node 地址(server or client)
-retry-attempts <number>	v7	Max retry attempts to establish a connection with the backend
-retry-interval <milliseconds>	v7	Interval (in millisecond) between retry-attempts
-tags <tags>	v5	Force comma-separated tags on all registered services
-deregister <mode>	v6	Deregister existed services "always" or "on-success". Default: always
-ttl <seconds>		TTL for services. Default: 0, no expiry (supported backends only)
-ttl-refresh <seconds>		Frequency service TTLs are refreshed (supported backends only)
-resync <seconds>	v6	Frequency all services are resynchronized. Default: 0, never

实际开发

在实际测试中由于 我的 consul-node 和 consul-register 不是安装在一台机,而 gliderlabs/registrator 在各种演示中 都是使用的本地的 consul-node ,所以 其不存在 地址问题,而我是使用的远程 consul-node ,所以需要使用 -ip 告诉 consul-node 服务地址

docker run -itd -h 10.10.1.93 -v /var/run/docker.sock:/tmp/docker.sock  --privileged=true gliderlabs/registrator -ip=10.10.1.93 -tags=[out] consul://10.10.1.91:8500
所以这里 设置-ip=10.10.1.93 .

而在我的实际开发中又做了spark 容器集群,需要知道 master 的位置,所以 我使用了-internal 来注册 一些容器的内部信息

docker run -itd -h 10.10.1.93 -v /var/run/docker.sock:/tmp/docker.sock  --privileged=true gliderlabs/registrator -internal -tags=[internal] consul://10.10.1.91:8500

官网 文档 http://gliderlabs.com/registrator/latest/user/run/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: