当前位置: 首页 > 知识库问答 >
问题:

从一个Docker访问另一个Docker中的MariaDB

林雅畅
2023-03-14

我有两个码头集装箱。一个是基于标准的MariaDB图像。这个容器被命名为“mariadb”,里面有一个叫做“fi”的数据库。fi db内部有几个表,每个表都有几行数据。使用DataGrip或任何其他数据库查看软件,我可以成功地访问和查询这个数据库,并使用端口3306在本地主机上调用它。

        Connection connection = DriverManager.getConnection("jdbc:mariadb://mariadb:3306/fi?user=myUsername&password=myPassword");
        Statement stmt = connection.createStatement();
        ResultSet rs = stmt.executeQuery("SELECT * FROM ...;");

按照下面的建议对连接字符串进行了更改,如上图所示。现在使用命令“run-i-p8080:8080--link mariadb javaImage/bin/bash”运行容器。相同的结果,当试图建立连接时收到此错误“无法连接:未知的数据库'FI'”。

共有1个答案

苏涛
2023-03-14

如果容器名为mariadb,则应该在url中使用它,而不是db。

jdbc:mariadb://mariadb:3306/fi?user=myUsername&password=myPassword

在你的链接上,你也应该使用mariadb,

docker run -i -p 8080:8080 --link mariadb javaImage /bin/bash
 类似资料:
  • 问题内容: 我基于两个不同的图像创建了两个docker容器。一个数据库,另一个用于网络服务器。这两个容器都在我的Mac OS X上运行。 我可以从主机访问数据库容器,也可以从主机访问Web服务器。 但是,如何从Web服务器访问数据库连接? 我启动数据库容器的方式是 我开始了wls容器作为 我可以通过连接到主机上的数据库 我可以以以下方式访问主机上的wls: 问题答案: 最简单的方法是使用–link

  • 我基于两个不同的映像创建了两个docker容器。一个是db,另一个是WebServer。这两个容器都在我的mac OSX上运行。 我可以从主机访问db容器,也可以从主机访问webserver。 我可以访问主机上的wls作为

  • 假设我们的系统中有4个不同的图像,它们的名称如下: 假设我们运行container\u 1。我的问题是:container\u 1运行是否可能会保留container\u 2这样的容器?我搜索了一下,发现的问题和文章是:docker在另一个docker中运行?但这不是我的情况,我需要在container\u 1旁边运行其他容器。我对码头工人的了解很少。

  • 问题内容: 我正在尝试为将我的应用程序容器连接到postgres容器提供一个便携式解决方案。“便携式”是指我可以给用户两个命令,每个容器一个,它们将始终协同工作。 我的本地PC上运行着一个postgres docker容器,我这样运行它, 我可以使用address从python flask应用程序访问它。 我也将python应用程序也放置在docker容器中,但无法连接到postgres容器。 地

  • 我们有一个公开REST API的现有java应用程序。当它收到超文本传输协议请求时,它使用Runtime.getRuntime(). exe启动另一个java进程。 我们正在将此应用程序迁移到docker,我们希望将这些服务、一个容器中的REST应用程序和另一个容器中的其他组件分开。 有没有办法,REST应用程序可以在另一个docker容器中启动另一个应用程序?

  • 在页面存储Python Flask微服务中,我尝试使用主机名master-db访问MySQL数据库,但该名称无法解析。