У меня есть инфраструктура селена, которая использует докерский контейнер sql для получения тестовых данных. Я использовал базовый образ с SQL версии 5.7 для создания контейнера. Код, который я написал, работал, но больше не работает. Это мой код:
public class SQLconnection {
public static Connection dataBaseConnection() throws SQLException {
System.out.println("-------- MySQL JDBC Connection Testing ------------");
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("Where is your MySQL JDBC Driver?");
e.printStackTrace();
}
System.out.println("MySQL JDBC Driver Registered!");
Connection connection = null;
try {
connection = DriverManager
.getConnection("jdbc:mysql://localhost:3306/users?useSSL=false","martijn","123");
} catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
e.printStackTrace();
}
if (connection != null) {
System.out.println("You made it, take control your database now!");
} else {
System.out.println("Failed to make connection!");
}
return connection;
}
}
Для сборки контейнера я использовал файл docker ниже:
FROM mysql:5.7
ENV MYSQL_ROOT_PASSWORD 123
ENV MYSQL_DATABASE Users
ENV MYSQL_USER martijn
ENV MYSQL_PASSWORD 123
ADD script.sql /docker-entrypoint-initdb.d
EXPOSE 3306
Ошибка при выполнении моего кода следующая:
Соединение не установлено! Проверьте вывод консоли
com.mysql.cj.jdbc.exceptions.CommunicationsException: Связь
ошибка связи
Последний пакет, успешно отправленный на сервер, был 0 миллисекунд назад. Драйвер не получил никаких пакетов от сервера.
Я новичок в этом, поэтому любая помощь будет высоко оценена.