我正在尝试使用Tomcat作为服务器,mysql和mongodb作为具有docker-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
任何人都可以建议应该进行哪些更改以便为应用程序建立数据库连接。