我是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:通信链接失败最近一次成功发送到服务器的数据包是0毫秒前。驱动程序尚未收到来自服务器的任何数据包。
请任何人可以帮助我解决此问题。谢谢您的时间
答案 0 :(得分:0)
https://docs.docker.com/compose/compose-file/#build根据他们的文档。我认为我们不能给予
docker-compose.yml中的构建。
需要在build命令后给出目录。在这种情况下,我采用了错误的方式。
正确方法
build ./dir