java - Docker 外部数据库映射

标签 java docker tomcat mariadb

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

<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>

最佳答案

您必须使用 docker0 接口(interface)的 ip 地址代替 10.66.110.7。

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

$ ip addr show docker0

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

关于java - Docker 外部数据库映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50467384/

相关文章:

java - HibernateJPAVendorAdapter 和 JPAProperty 中的属性之间的优先级

docker - 无法在 Windows 上的 Docker 中启动 TensorFlow

java - 将请求重定向到 servlet 中的 JSP 出错?

java - servlet 中的提交按钮不起作用

java - 新部署给出嵌套异常是 java.lang.NoClassDefFoundError : org/postgresql/core/types/PGLong

java - 在 selenium 中循环一个 try and catch 语句

java - 在 JTree 的节点内创建 JTable

java - jsp中登录后显示用户名

Docker 从私有(private)存储库中拉取图像并拉取图像上的更改

python - 无法在 Python 镜像上找到包 msodbcsql