Установление соединения с базой данных с помощью 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

Может кто-нибудь предложить, пожалуйста, какие изменения должны быть сделаны, чтобы установить соединение с базой данных для приложения.

0 ответов

Другие вопросы по тегам