【问题标题】:Unable to connect to MongoDb while I running a job from Jenkins on docker当我在 docker 上运行 Jenkins 的作业时无法连接到 MongoDb
【发布时间】:2019-10-04 19:26:23
【问题描述】:

我在 Linux 机器上安装了一个 docker,我有一个带有 Jenkins 的容器来触发一个作业,我的最后一步是运行测试,我在 Nunit 测试中的第一步是连接到 MongoDB,它也是我的码头工人栈。

从 Jenkins 日志中我收到以下错误:

A timeout occured after 30000ms selecting a server using
 CompositeServerSelector{ Selectors =
 MongoDB.Driver.MongoClient+AreSessionsSupportedServerSelector,
LatencyLimitingServerSelector{ AllowedLatencyRange = 00:00:00.0150000
 } }. Client view of cluster state is { ClusterId : "1", ConnectionMode
 : "Automatic", Type : "Unknown", State : "Disconnected", Servers : [{
 ServerId: "{ ClusterId : 1, EndPoint : "Unspecified/"my AWS
 host":27017

请注意:

1) MongoDB 和 Jenkins 容器位于同一网络上。

2) 我可以从 Jenkins 容器中获取 curl 到 Mongo 的完整 IP 地址。

3) 如果我从本地电脑运行并指向远程机器(指向同一个 docker),Mongo 连接正在工作。

4) 在我的 AWS 控制台中,所有流量和端口都在两侧开放。

【问题讨论】:

标签: mongodb amazon-web-services jenkins docker-swarm


【解决方案1】:

有一个非常相似的问题,在我的例子中,我们使用了导致问题的公共 DNS。考虑从公共 DNS 更改为公共 IP。

【讨论】:

  • 哇,这正是解决我的问题的原因。谢谢@Amit Baranes
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-26
  • 2015-12-31
  • 2020-06-21
  • 1970-01-01
  • 1970-01-01
  • 2014-10-29
  • 1970-01-01
相关资源
最近更新 更多