我正在尝试将 spring boot docker 容器连接到 mongodb docker 容器。在开发 Spring Boot 应用程序时,我使用了 MongoDB docker 容器,其端口 27017 映射到主机的 27017 端口docker run -p 27017:27017 mongo:3.4。开发完成后,我将 Spring 应用程序容器化,但容器化的 Spring 应用程序无法连接到 mongodb 容器。我知道问题是 spring 应用程序正在本地主机上寻找 mongodb。我的问题是我应该如何修改应用程序,以便它使用 mongodb 容器的地址,而不是在本地主机上查找 mongodb?
我的数据库连接是用下面的类处理的:
public class DB {
private final Datastore datastore;
private Morphia morphia;
/**
* Constructor for creating database instance
*/
public DB() {
morphia = new Morphia();
morphia.mapPackage("users");
datastore =
morphia.createDatastore(new MongoClient(), "test");
datastore.ensureIndexes();
}
/**
* Inserts given user to the database
* …Run Code Online (Sandbox Code Playgroud)