在docker上运行Jenkins的作业时,无法连接到MongoDb
我在Linux机器上安装了一个docker,我有一个与Jenkins一起触发作业的容器,我的最后一步是运行测试,我的Nunit测试的第一步是连接到MongoDB,它也是我docker堆栈的一部分 从Jenkins日志中,我得到了以下错误:在docker上运行Jenkins的作业时,无法连接到MongoDb,mongodb,amazon-web-services,jenkins,docker-swarm,Mongodb,Amazon Web Services,Jenkins,Docker Swarm,我在Linux机器上安装了一个docker,我有一个与Jenkins一起触发作业的容器,我的最后一步是运行测试,我的Nunit测试的第一步是连接到MongoDB,它也是我docker堆栈的一部分 从Jenkins日志中,我得到了以下错误: A timeout occured after 30000ms selecting a server using CompositeServerSelector{ Selectors = MongoDB.Driver.MongoClient+AreSess
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容器得到一个卷发到Mongo的完整IP地址
3) 如果我从本地pc运行并指向远程机器(指向同一个docker),则Mongo连接正在工作
< P > 4)在我的AWS控制台中,所有的流量和端口都是开放的。
有一个非常相似的问题,在我的例子中,我们使用了公共DNS来引起我们的问题。考虑从公共DNS变成公共IP。< /P>
哇,这正是解决我问题的方法。谢谢@Amit Baranes