简体   繁体   English

Spring App Connection Refused in Docker 组成

[英]Spring App Connection Refused in Docker Composition

building a container-based web-app right now and facing following problem:现在构建一个基于容器的网络应用程序并面临以下问题:

My Spring app depends on a mariaDB container to be fully up and running.我的 Spring 应用程序依赖于 mariaDB 容器才能完全启动并运行。 When my Spring container starts it throws a Connection Refused Exception.当我的 Spring 容器启动时,它会引发连接被拒绝异常。

 java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=waterloo-db)(port=9003)(type=master) : Socket fail to connect to host:waterloo-db, port:9003. Connection refused (Connection refused)
waterloo            |   at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:73) ~[mariadb-java-client-2.6.1.jar!/:na]
waterloo            |   at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:192) ~[mariadb-java-client-2.6.1.jar!/:na]

Even on a reconnect time of 30 seconds I get the connection refused exceptions.即使重新连接时间为 30 秒,我也会收到连接被拒绝的异常。

My Spring Config:我的 Spring 配置:

datasource:
      url: jdbc:mariadb://waterloo-db:9003/waterloo?autoReconnect=true
      username: waterloo
      password: xxx
      driver-class-name: org.mariadb.jdbc.Driver
      tomcat:
        test-on-borrow: true
        validation-query: SELECT 1
        validation-interval: 30000

docker compose: docker 组成:

#Waterloo
#waterloo-db
  waterloo-db:
    container_name: waterloo-db
    image: mariadb
    ports:
      - 9003:3306
    volumes:
      - ./waterlooDB:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: waterloo
      MYSQL_USER: waterloo
      MYSQL_PASSWORD: xxx
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "--silent"]
      
  waterloo:
    container_name: waterloo
    image: docker.pkg.github.com/magister-media/waterloo/waterloo:dev
    ports:
      - 8085:8085
      

I hope it's something you guys can help me with.我希望这是你们可以帮助我的事情。

Cheers!干杯!

add depends_on to waterloo app in the docker-compose file.depends_on添加到docker-compose 文件中的滑铁卢应用程序。

Example:例子:

 waterloo:
    container_name: waterloo
    image: docker.pkg.github.com/magister-media/waterloo/waterloo:dev
    ports:
       - 8085:8085
    depends_on: 
       - "waterloo-db"

Docker docs . Docker文档 about depends_on :关于depends_on

Express dependency between services.表达服务之间的依赖关系。 Service dependencies cause the following behaviors:服务依赖会导致以下行为:

docker-compose up starts services in dependency order. docker-compose up 按依赖顺序启动服务。 In the following example, db and redis are started before web.在以下示例中,db 和 redis 在 web 之前启动。 docker-compose up SERVICE automatically includes SERVICE's dependencies... docker-compose up SERVICE 自动包含 SERVICE 的依赖...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 docker镜像中的spring boot应用程序错误连接到localhost:5433被拒绝 - spring boot app in docker image error Connection to localhost:5433 refused Docker 组成 Redis 和 Spring 启动应用程序:java.net.ConnectException:连接被拒绝(连接被拒绝)“, - Docker compose Redis and Spring boot app: java.net.ConnectException: Connection refused (Connection refused)", Spring App cloudfoundry:连接被拒绝 - Spring App cloudfoundry : connection refused Spring 引导 MySQL Docker ConnectException:连接被拒绝 - Spring Boot MySQL Docker ConnectException: Connection refused Spring 在 localhost 上启动应用程序:连接被拒绝 - Spring Boot app on localhost: connection refused Spring 微服务 Docker 问题(连接被拒绝和数据库连接) - Spring Microservices Docker Issues (Connection Refused and Database Connection) java.net.ConnectException:连接被拒绝(连接被拒绝):Docker + Spring 启动 - java.net.ConnectException: Connection refused (Connection refused): Docker + Spring boot Spring Boot docker无法连接到mysql(连接被拒绝/ createCommunicationsException) - Spring boot docker Cannot connect to mysql (Connection refused / createCommunicationsException) docker容器内的spring boot引发java.net.ConnectException:连接被拒绝(连接被拒绝) - Spring boot inside docker container throws java.net.ConnectException: Connection refused (Connection refused) 连接被拒绝:访问在Docker容器中运行的Spring Boot应用程序 - Connection refused: accessing a spring boot application running in docker container
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM