Я новичок в Docker.И я проверил этот ответ Невозможно подключить контейнер MySQL к контейнеру Tomcat в докере Но у меня это не работает.Вот почему я публикую эту проблему.Мой 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>
Я прочитал Невозможно аккуратно подключить контейнер MySQL к контейнеру Tomcat в докере и внести изменения.Но все же я получаю эту ошибку.
SQLException перехвачено: сбой линии связи Последний пакет, успешно отправленный на сервер, был 0 миллисекунд назад.Драйвер не получил никаких пакетов с сервера.
Пожалуйста, кто-нибудь может помочь мне решить эту проблему.Спасибо за ваше время