当前位置: 首页 > 知识库问答 >
问题:

mysql docker容器的JDBC通信链接失败

令狐嘉运
2023-03-14

当我的java spring应用程序尝试连接到数据库时,我会得到以下信息:

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

spring应用程序中的连接url如下所示:

version : '3'
services:
  springappserver:
    build:
      context: .
      dockerfile: web.dockerfile
    ports:
      - "8081:8080"
    networks:
      - mt-network
    volumes:
      - .:/vol/development
    depends_on:
      - mysqldbserver
  mysqldbserver:
    build:
      context: .
      dockerfile: db.dockerfile
    ports:
      - "13306:3306"
    networks:
      - mt-network
    environment:
      MYSQL_DATABASE: supersede_orchestrator_spring
      MYSQL_USER: supersede_orch
      MYSQL_PASSWORD: ****
      MYSQL_ROOT_PASSWORD: ****
    container_name: orchestrator_mysqldbserver
networks:
  mt-network:
    driver: bridge
FROM java:8-jre

VOLUME /tmp
ADD build/libs/feedback_orchestrator-2.0.0.jar app.jar

RUN apt-get update
RUN apt-get install mysql-client -y
RUN apt-get install libmysql-java -y

RUN bash -c 'touch /app.jar'

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom -Djava.net.preferIPv4Stack=true","-jar","/app.jar"]

最后,docker图像-A:

42db4e656e6e        orchestrator_springappserver   "java '-Djava.secu..."   16 minutes ago      Up 16 minutes             0.0.0.0:8081->8080/tcp    orchestrator_springappserver_1
e2b0b5cc15ac        orchestrator_mysqldbserver     "docker-entrypoint..."   2 hours ago         Up About an hour          0.0.0.0:13306->3306/tcp   orchestrator_mysqldbserver

你知道问题是什么吗?谢谢你!

共有1个答案

薛寒
2023-03-14

上面的配置是正确的。我只是愚蠢到忘记了重建罐子。因此,没有更新jdbc url。它现在工作得很好。

 类似资料:
  • 在stackoverflow上搜索后,感觉这是一个常见的问题,但我没有找到决定。 没有docker,程序可以在本地主机上运行。docker文件: 应用程序。属性(确实尝试将此处的“localhost”替换为“dockermyblog”): 在终端中通过命令创建容器: 尝试通过以下方式启动它: 接收错误: 试图设置(不明白那是什么): 或 试图放入终端: 终端不知道“grep” 我应该如何在本地启动

  • 问题内容: 我使用Java从Mysql查询一些记录。但是在某些持续时间的查询中,我遇到了使查询失败的问题,而在其他查询中,它查询成功了。错误消息是下一个: 我尝试了一些方法,例如: 设置 在 添加 到我的连接网址 但什么也没发生。 我的环境是: Mysql:5.5.3-m3-log源代码分发 的Java:1.6.0_16 JDK:HotSpot(TM)64位服务器VM(内部版本14.2-b01,混

  • 当我码头工人运行Kafka集装箱 [2018-07-15 01:31:58,369]信息打开到服务器本地主机/127.0.0.1:2181的套接字连接。将不尝试使用SASL(未知错误)(org.apache.zookeeper.clientcnxn)[2018-07-15 01:31:58,373]警告会话0x0服务器为空,意外错误,关闭套接字连接并试图重新连接(org.apache.zookee

  • 问题内容: 我正在努力使数据库与Java程序进行通讯。 有人可以使用JDBC给我一个快速而肮脏的示例程序吗? 我收到一个非常严重的错误: 测试文件的内容: 问题答案: 所以,你有一个 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败 java.net.ConnectException:连接被拒绝 我引用了这个答案,其中还包

  • 我正在使用hibernate.cfg运行Spring MVC应用程序,如下所示: 当我在本地环境中运行应用程序时,它运行起来没有任何问题。但在服务器上,它给出的异常为:

  • 我是码头工人的新手。我用的是Spring boot微服务。它在我的本地机器上运行良好。现在,我需要为我的应用程序创建一个docker图像。它依赖于Mysql服务器。我使用docker-compose来创建我的容器。在运行我的自定义映像(spring boot应用程序)时,我收到一个通信链接失败错误。Mysql镜像独立运行良好。 我的 yml 文件 : 应用程序属性文件 : 完整的错误消息: spr