我是 Docker 新手。我检查了这个答案Unable to Connect MySQL container to Tomcat Container in docker 但它对我不起作用。这就是我发布这个问题的原因。 我的 docker-compose 如下。
version: '3'
services:
web:
build: .
ports:
- "4000:8080"
links:
- db
db:
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: custom
MYSQL_USER: root
MYSQL_PASSWORD: root
volumes:
- ./mysql-data:/var/lib/mysql
通过这个我需要建立联系。我正在使用 jsp 文件建立连接并获取数据。我的jsp文件如下。
<%@ page import="pageNumber.*,java.util.*, java.io.*, java.sql.*"%>
<!DOCTYPE html>
<body>
<%
try {
Connection con;
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://db:3306/custom?useSSL=false", "root", "root");
if(con!=null){
out.println ("database successfully opened.");
out.println(con);
}
}
catch(SQLException e) {
out.println("SQLException caught: " +e.getMessage());
}
%>
</body>
我读到Unable to Connect MySQL container to Tomcat Container in docker仔细解决问题并进行更改。但我仍然收到此错误。
SQLException caught: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
请谁能帮我解决这个问题。感谢您的宝贵时间
最佳答案
https://docs.docker.com/compose/compose-file/#build根据他们的文件。我认为我们不能给予
build .
在 docker-compose.yml 中需要在构建命令后给出目录。在这种情况下,我采取了错误的方式。
正确的方法
build ./dir
关于mysql - 使用 docker-compose 连接 Tomcat 容器和 Mysql 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52811189/