文档章节

docker registrator配合consul使用的问题

chris_2009
 chris_2009
发布于 2016/04/19 18:14
字数 255
阅读 659
收藏 2

上一篇文章中有介绍使用registrator将docker容器启动的服务注册到consul,再用consul-template自动更新ngnix配置,实现系统服务的自动发现。

在多个docker主机的情况下存在以下问题:
registrator获取的是本地地址:例如:

{
    "Node":"consulserver",
    "Address":"172.17.0.5",
    "ServiceID":"registrator:dockercompose_web_7:80",
    "ServiceName":"web",
    "ServiceTags":["backend"],
    "ServiceAddress":"172.17.0.4",
    "ServicePort":80,
    "ServiceEnableTagOverride":false,
    "CreateIndex":17,
    "ModifyIndex":17
}

解决办法

在registrator注册时将地址替换为外网地址
其中使用到consul的服务注册和服务列表

  • 服务注册
    curl -X PUT -d '{"Node": "consulserver", "Address": "192.168.17.161","Service": {"Service": "web", "tags": ["backend"], "Port": 32778,"ServiceAddress":"192.168.17.161"}}' http://127.0.0.1:8500/v1/catalog/register
  • 服务列表
    curl http://127.0.0.1:8500/v1/catalog/service/web
    注册以后的地址:
    { 
     "Node":"consulserver",
     "Address":"192.168.17.161",
     "ServiceID":"registrator:dockercompose_web_7:80",
     "ServiceName":"web",
     "ServiceTags":["backend"],
     "ServiceAddress":"",
     "ServicePort":80,
     "ServiceEnableTagOverride":false,
     "CreateIndex":17,
     "ModifyIndex":17
    }

© 著作权归作者所有

共有 人打赏支持
chris_2009
粉丝 3
博文 10
码字总数 8066
作品 0
深圳
高级程序员
私信 提问
consul docker register

docker consul register 在很多就得文档中都是用的 但是 在github 中已经换成了 gliderlabs/registrator gliderlabs/registrator 如果发生权限错误 在其中加上这一句话 --privileged=true 实...

疯code
2016/07/19
32
0
大规模 WebSocket 集群项目 AnyIM 实战

一、概述 WebSocket 应用场景非常广泛,例如社交聊天、弹幕、多玩家游戏、协同编辑、股票基金实时报价、体育实况更新、视频会议/聊天、实时定位、在线教育、智能家居等,这些场景都与我们的生...

Anoyi
2017/11/17
0
0
Ocelot + Consul + Registrator 基于Docker 实现服务发现、服务自动注册

目录 1. Consul集群搭建 1.1 F&Q 2. Registrator服务注册工具 2.1 F&Q 3. clientservice服务Demo 3.1 Program.cs 3.2 ValuesController.cs 3.3 Dockerfile 3.4 制作镜像并启动容器 4. Ocelo......

我打农村来
2018/07/25
0
0
基于容器的后端服务架构

在探索kubernetes的应用时,调研了几个gateway,发现fabio支持发现服务,自动生成路由,结合consul,registrator, 可以很容易的部署一套服务,比较轻量,很容易玩起来。 结构大致为: Start ...

有容云
2016/12/08
19
0
Docker 的未来

Dokku的作者以及Docker早期的贡献者Jeff Lindsay在CenturyLink的一个采访中讨论了他正在参与的Docker的相关项目以及他们打算如何解决涉及到面向Docker服务的架构的问题。 Jeff联合Flynn开发了...

lateron
2014/08/06
6.8K
6

没有更多内容

加载失败,请刷新页面

加载更多

面向对象继承

第1章 面向对象 1.1 知识回顾 1.Java中的数据类型 2.引用数据类型String中的方法 3.IO流_读写文件 1.2 面向对象概念回顾 什么叫面向对象编程?有人是这么理解的 也有人说不对,面向对象编程是你...

stars永恒
29分钟前
0
0
Java-深入HashMap原理及内部存储结构

本文将通过如下简单的代码来分析HashMap的内部数据结构的变化过程。 public static void main(String[] args) { Map<String, String> map = new HashMap<>(); for (int i = 0; i ......

小刀爱编程
44分钟前
1
0
高并发和分布式中的幂等处理

概念 抽象概念 幂等(idempotent,idempotentce)是一个数学与计算机概念,常见于抽象代数中。 在计算机概念中,就是针对一个操作,不管做多少次,产生效果或返回的结果都是一样的。 场景距...

细节探索者
45分钟前
0
0
2019年1月份最新阿里内推Java后端面试题

阿里一面题目: osi七层网络模型,五层网络模型,每次层分别有哪些协议死锁产生的条件, 以及如何避免死锁,银行家算法,产生死锁后如何解决如何判断链表有环虚拟机类加载机制,双亲委派模型...

别打我会飞
今天
2
0
MIT 6.828 main.c文件分析

#include <inc/x86.h>#include <inc/elf.h> /*这是一个简单粗略的boot loader,它唯一的工作就是从硬盘的第一个扇区启动格式为ELF的内核镜像硬盘布局这个程序(包括boot.S和mai...

FeanLau
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部