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

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

Tomcat无法连接到MySQL

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

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

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

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

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)

回答:

在将db链接为“ db”时,不能使用localhost来加入数据库。你应该“ db”

jdbc:mysql://db:3306/tracker?useSSL=false

在您的容器中,本地主机设计您的tomcat容器,而不是您的主机。MySQL容器有自己的网络。

此外,如果您不喜欢“ db”名称,则可以使用其他名称来命名链接

举个例子:

 links:

- db:container-mysql

在这种情况下,您可以在tomcat容器中使用

jdbc:mysql://container-mysql:3306/tracker?useSSL=false

以上是 无法将MySQL容器连接到Docker中的Tomcat容器 的全部内容, 来源链接: utcz.com/qa/416540.html

回到顶部