我们有一个场景,我们启动一个MySQL docker容器,尝试连接容器内的MySQL,并做一些事情,之后我们停止并删除容器。我们在代码中执行了数百次,比如200次以上。偶尔,我们无法连接到docker容器中的MySQL,我们也不知道为什么。有没有人有相似的经验或任何指导?我们的代码看起来像下面的伪行:
for (int count = 0; count < 200; count++) {
//launch docker container
MySQLContainer container = MySQLContainer.newInstance();
container.start();
//initialize DB manager and try to get a connection
DbManager.initConnectionPool(container.getMySQLAddressInfo());
Connection conn = DbManager.getConnection();
//do something with the conn
DoSomething(conn);
//destroy container
container.destroy(); //the same as 'docker stop XXX; docker rm XXX'
}
DbManager.getConnection偶尔会失败。 DbManager所做的是创建一个新的BasicDatasource并使用该数据源初始化应用程序的集合池。我们使用JDBC MySQL连接器作为底层驱动程序。这很奇怪。任何指导都将受到高度赞赏。