我已将“知识”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/