我们将微服务应用程序停靠,我遇到了一些发现问题.
该应用程序配置如下:
当服务以"非本地"模式启动时,它使用Consul作为其Discovery注册表.当服务以"本地"模式启动时,它会自动绑定每个服务的地址(例如,tcp:// localhost:61001,tcp:// localhost:61002等等.硬编码地址)
在对应用程序进行docker化之后(目前只针对本地模式)每个服务都是一个容器(Docker镜像用docker-compose编排.如果这很重要,还有docker-machine)但是一个服务不能与另一个服务交互,因为它们不是在同一台机器上,tcp:// localhost:61001显然不起作用.
使用带有链接的 docker-compose 并将localhost指定为别名(service:localhost)不起作用.2个容器是否有办法"共享"同一个本地主机?
如果没有,最好的方法是什么?我考虑过为每个服务使用特定的主机名,然后在docker-compose的links部分指定主机名.(但我怀疑这是优雅的解决方案)或者可能使用Consul的版本化的Consul并与之集成?
这篇文章:如何在两个不同的Docker容器之间共享localhost?提供了一些关于为什么不应该混淆localhost的见解 - 但我仍然对这里的正确方法感到困惑.
谢谢!
docker consul microservices docker-compose docker-networking
我正在尝试将Slack与Gitlab集成.我根据https://docs.gitlab.com/ee/project_services/slack.html正确配置了所有内容
在Gitlab中,按"测试设置"确实触发了webhook,我在Slack通道中看到了消息.
此外,运行
$ curl -X POST --data-urlencode 'payload={"channel": "#commits", "username": "webhookbot", "text": "blahblah", "icon_emoji": ":ghost:"}' https://hooks.slack.com/services/mywebhookhere
完美
但是当我真正将某些东西推入存储库时......没有任何反应.(虽然我可以在Gitlab UI中看到提交..)
任何协助将不胜感激!
目前我们正在使用Couchbase和ElasticSearch(2.x)并使用elasticsearch-transport-couchbase插件成功地将数据从CB复制到ES .
升级到ES 5.6.4时问题就出现了.到目前为止,我们在ES中使用了单个索引,并且由于ElasticSearch 不再推荐这种方法,我们现在尝试在ES中创建多个索引(每个类型的索引)这意味着我们需要一种方法来复制从CB(单个桶)到ES(多个索引)的数据.
解决这个问题的最佳方法是什么?可能的解决方案:
任何帮助,将不胜感激.