首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在docker中配置app和MySQL DB -Compose.yaml-无法打开JDBC连接

问在docker中配置app和MySQL DB -Compose.yaml-无法打开JDBC连接
EN

Stack Overflow用户
提问于 2018-10-18 21:04:19
回答 1查看 649关注 0票数 0

我在下面的docker-compose.yaml文件中配置了一个app和mysql db。当这两个服务启动时,当发送http请求时,应用程序无法打开到DB的连接。当app和mysql在单独的容器中定义时,请求就成功了。我确信这是一些简单的东西在码头组成配置。

代码语言:javascript
复制
version: '3.7'

services:
  database:
    image: mysql:5.7
    container_name: docker_test-device-telemetry-mysql
    command: --explicit_defaults_for_timestamp
    environment:
      MYSQL_ROOT_PASSWORD: 12345
      MYSQL_ALLOW_EMPTY_PASSWORD: "no"

    volumes:
    - ./initdb.d:/docker-entrypoint-initdb.d
    ports:
    - "6603:3306"

  device-telemetry:
    image: 224713337986.dkr.ecr.eu-west-1.amazonaws.com/device-telemetry:2.5.0
    container_name: docker_test-device-telemetry-app
    volumes:
      - ./application.yaml:/application.yaml
      - ./bootstrap.yaml:/bootstrap.yaml
    ports:
      - "7857:7847"
    depends_on:
      - database

“时间戳”:"2018-10-18T20:46:17.654+0000“、”状态“:500、”错误“:”内部服务器错误“、”异常“:"org.springframework.transaction.CannotCreateTransactionException","message":”无法为事务打开JDBC连接;嵌套异常是java.sql.SQLException:无法创建PoolableConnectionFactory (通信链接失败\n\n\n)--上次成功发送到服务器的数据包是0毫秒前。驱动程序没有收到来自服务器的任何数据包。“

EN

回答 1

Stack Overflow用户

发布于 2018-10-19 13:52:32

问题在于对application.yaml中包含DB详细信息的url的引用。

它应该是

网址: jdbc:mysql://database:3306/local_telemetry

其中数据库是在docker中定义的DB的名称-Compose.yaml

而不是

网址: jdbc:mysql://127.0.0.1:3306/local_telemetry

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52882554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档