Установление соединения с базой данных с помощью Mysql Docker Container
Я пытаюсь развернуть приложение, используя Tomcat в качестве сервера, mysql и mongodb в качестве базы данных с файлом docker-compose.
Следующие настройки были указаны в файле compose:
version: '3.2'
services:
mongodb:
image: mongo
ports:
- "27017:27017"
sqldb:
image: mysql
ports:
- "3306:3306"
expose:
- "3306"
volumes:
- ./db.sql:/docker-entrypoint-initdb.d/db.sql
environment:
MYSQL_ROOT_PASSWORD: "root"
MYSQL_DATABASE: "db"
webapp:
image: tomcat
ports:
- "8080:8080"
links:
- mongodb
- sqldb
depends_on:
- sqldb
- mongodb
volumes:
- ./app.war:/usr/local/tomcat/webapps/app.war
- ./appinfo:/usr/local/tomcat/webapps/appinfo
Приложение успешно развернуто, но когда я пытаюсь войти с учетными данными, указанными в базе данных, я сталкиваюсь с ошибкой в соединении JDBC.
Я создал пользователя для localhost со всеми правами доступа к базе данных, но это не сработало.
Приложение использует файл config.properties, который содержит сведения об URL базы данных и учетных данных, а также хост в качестве sqldb (служба Docker).
jdbc.dialect=org.hibernate.dialect.MySQLDialect
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://sqldb:3306/db?autoReconnect=true&verifyServerCertificate=false&useSSL=false&requireSSL=false
jdbc.username=root
jdbc.password=root
app.root=~/DevOps/data
app.useMongoDB=true
app.version=1.0
app.mail.tls.enable=true
app.mail.host=
app.mail.port=25
app.mail.auth.user=
app.mail.auth.pass=
app.concurrency=5
Может кто-нибудь предложить, пожалуйста, какие изменения должны быть сделаны, чтобы установить соединение с базой данных для приложения.