![](/img/trans.png)
[英]Spring boot application unable to connect to mariadb (in Docker)
[英]Spring Boot MariaDB Docker Connection
我在使用 docker 的 MariaDB 数据库的 Spring 引导应用程序中遇到了 SQLNonTransientConnectionException。
Docker-compose.yaml
version: '3.1'
services:
stats-server:
container_name: stats-server
build:
dockerfile: Dockerfile-statsserver
context: ./stats-server
ports:
- "9090:9090"
depends_on:
- stats-db
stats-db:
container_name: stats-db
image: mariadb
ports:
- "9091:3306"
environment:
- MARIADB_ROOT_PASSWORD=root
- MARIADB_DATABASE=stats
- MARIADB_USER=stats_user
- MARIADB_PASSWORD=stats_password
应用程序.properties
#port
server.port=9090
#MariaDB
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://stats-db:9091/stats
spring.datasource.username=stats_user
spring.datasource.password=stats_password
spring.jpa.hibernate.ddl-auto=update
在 docker-compose up 命令之后,我得到了 SQLNonTransientConnectionException 错误:
java.sql.SQLNonTransientConnectionException: Socket fail to connect to host:address=(host=stats-db)(port=9091)(type=primary). Connection refused
数据库容器运行良好。 使用 Intellij Idea,我可以通过这个 url 进行连接:
jdbc:mariadb://localhost:9091/stats
我的错,应该使用内部容器端口
spring.datasource.url=jdbc:mariadb://stats-db:3306/stats
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.