在本地环境中运行testcontainer test OK,但是在jenkins中失败

问题描述

背景

在我的应用程序中,它需要连接到zookeeper以获得一些有用的信息。因此,我在集成测试中使用-p 2859:2181之类的端口绑定启动了zookeeper容器。

        zookeeper = new GenericContainer<>("zookeeper:3.6.1")
                .withEnv("ZOOKEEPER_CLIENT_PORT","2181")
                .withExposedPorts(2181);
        zookeeper.setPortBindings(Arrays.asList("2859:2181"));
        zookeeper.start();

然后,我使用以下命令运行测试。它可以顺利连接到localhost:2859,没有任何问题。

mvn -Dtest=xxxIntegrationTest.java test

问题

但是,当我使用jenkins通过相同的命令运行相同的测试时,它无法连接到localhost:2859,抱怨是

2020-10-28 12:16:04.282 INFO  [main-SendThread(localhost:2859)] Opening socket connection to server localhost/127.0.0.1:2859. Will not attempt to authenticate using SASL (unknown error)
2020-10-28 12:16:04.283 WARN  [main-SendThread(localhost:2859)] Session 0x0 for server null,unexpected error,closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)

我不知道为什么在这两种方法中它表现不同。有人可以给我一些建议吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...