首页 > 解决方案 > Docker 外部数据库映射

问题描述

我已将“知识”BI 工具克隆到我的本地 cetnos 7 服务器并成功运行了 docker 容器。我的挑战是连接到主机中的 mariadb 数据库!我希望知识容器能够访问主机中的该数据库。下面是我的 server.xml 文件,用于知识使用的连接配置..

<GlobalNamingResources>

<Resource name="jdbc/datasource" auth="Container"
      type="javax.sql.DataSource"
      driverClassName="org.mariadb.jdbc.Driver"
      url="jdbc:mariadb://ip-addr:3306/datasource"
      username="beberu"
      password="***********"
      maxActive="20" maxIdle="10"
      maxWait="-1"/>

            <!-- KNOWAGE -->
<Resource auth="Container" driverClassName="org.mariadb.jdbc.Driver" maxActive="20" maxIdle="10" maxWait="-1" name="jdbc/knowage" type="javax.sql.DataSource" url="jdbc:mysql://1$

<Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="$

<ResourceLink global="jdbc/datasource" name="jdbc/datasource" type="javax.sql.DataSource"/>
</GlobalNamingResources>

标签: javadockertomcatmariadb

解决方案


您必须使用docker0接口的 IP 地址代替 10.66.110.7。

您可以使用此命令获取 IP 地址。

$ ip addr show docker0

在结果中使用 ip 之后,inet。


推荐阅读