【发布时间】:2016-06-01 08:38:44
【问题描述】:
计划
我希望我的 tomcat 服务器能够在单独的容器中连接到我的 MySQL 服务器。
问题
Tomcat 无法连接到 MySQL
我使用了wordpress tutorial 中关于设置与 mysql 容器的链接的一些详细信息,并创建了指向 MySQL 的链接。
虽然 tomcat 和 mysql 启动得很好,但我似乎无法让 tomcat 能够连接到 MySQL,但这些设置在我的本地机器上运行得很好。
我也尝试过使用--net: "host",尽管这不适用于 Tomcat,因为它会引发严重错误。
以前的答案
我noticed on this post a load 可能会修复该错误,但我认为这些都不会转化为我的问题,因为我相信这是一个 docker 问题而不是主机问题。
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.
<Context>
<Resource
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"
/>
<Resource
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"
/>
</Context>
错误代码。
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.<init>(JiraSQLDatabaseConnection.java:50)
【问题讨论】:
标签: mysql docker docker-compose