jdbc 无法连接docker_无法将MySQL容器连接到Docker中的Tomcat容器

本文描述了在Docker环境下,Tomcat服务器无法连接到MySQL数据库的问题。作者尝试了通过links和--net:"host"选项进行连接,但遇到问题。在Docker-compose配置文件中展示了web和db服务的设置,并提供了Tomcat的Context.xml片段,其中包含了数据库连接配置。错误信息显示服务器没有收到任何来自驱动的包。
摘要由CSDN通过智能技术生成

计划

我希望我的tomcat服务器能够在单独的容器中连接到我的MySQL服务器。

问题

Tomcat无法连接到MySQL

我使用了wordpress教程中的一些详细信息,这些信息涉及与mysql容器建立链接并创建指向MySQL的链接。

尽管tomcat和mysql旋转得很好,但我似乎无法使tomcat能够连接到MySQL,但是这些设置在我的本地计算机上也可以正常运行。

我也尝试使用它--net: "host",尽管它不适用于Tomcat,因为它会引发严重错误。

修复方法,尽管我不相信这些都会导致我的问题,因为我认为这是一个码头工人问题而不是主机问题。

docker-compose.yml

web:

image: tomcat:7.0

container_name: tomcat-container

ports:

- "80:8080"

hostname: docker-tomcat

volumes:

- /home/webapps:/usr/local/tomcat/webapps

links:

- db

db:

image: mysql

container_name: mysql-container

environment:

MYSQL_ROOT_PASSWORD: Mysqlpassword1

MYSQL_DATABASE: tracker

volumes:

- /home/mysqlDB:/var/lib/mysql

这是我的 Context.xml from tomcat.

name="jdbc/tracker" type="javax.sql.DataSource"

maxActive="100" maxIdle="30" maxWait="10000"

url="jdbc:mysql://localhost:3306/tracker?useSSL=false"

driverClassName="com.mysql.jdbc.Driver"

username="root" password="mysqladmin1"

/>

name="jdbc/jenkins" type="javax.sql.DataSource"

maxActive="100" maxIdle="30" maxWait="10000"

url="jdbc:mysql://localhost:3306/jenkins?useSSL=false"

driverClassName="com.mysql.jdbc.Driver"

username="root" password="mysqladmin1"

/>

错误代码。

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)

at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)

at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)

at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)

at databaseConnections.SQLDatabaseConnection.tableExists(SQLDatabaseConnection.java:131)

at databaseConnections.JiraSQLDatabaseConnection.(JiraSQLDatabaseConnection.java:50)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值