繁体   English   中英

Spring 引导 MariaDB 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM