【问题标题】:docker-compose mysql link issue with spring bootdocker-compose mysql链接问题与spring boot
【发布时间】:2016-11-23 17:42:04
【问题描述】:

在 Stack Overflow 上的其他问题中提出了非常相似的问题,但我似乎无法让我的 Dockerized Spring boot 应用程序使用 docker-compose 链接到我的 dockerized mysql 容器

这是我的 docker-compose 文件:

mysql:
    image: mysql/mysql-server:latest
    environment:
    - MYSQL_ROOT_PASSWORD=C4rdi0St4t!
    - MYSQL_DATABASE=icentia
    ports:
        - "3306:3306"
    expose:
        - "3306"    
    volumes:
     - /Users/Shared/data:/var/lib/mysql



tracking:
    image: icentia/tracking:latest
    ports:
        - "8083:8083"
        - "5053:5053" 
    links: 
        - mysql:icentiadb    

这是 jdbc 连接字符串:

url: jdbc:mysql://icentiadb/icentia?autoReconnect=true&useSSL=false

也尝试过:

url: jdbc:mysql://icentiadb:3306/icentia?autoReconnect=true&useSSL=false

如果我启动我的 spring boot 应用程序而不在容器中运行,即通过 IDE 并使用 localhost:3306,它可以工作,因此可以通过 mysql 容器的端口配置(意味着配置是正确的)。

这是来自 Docker for Mac 顺便说一句

来自 Spring Boot 的错误:

Caused by: java.net.ConnectException: Connection refused

如果我使用 docker compose 启动 mysql,而没有在 compose 文件中使用 spring boot 应用程序,并且只使用带有指向以 docker compose 启动的正在运行的 mysql 容器的链接的运行命令,则它适用于这个 jdbc 连接字符串

url: jdbc:mysql://icentiadb/icentia?autoReconnect=true&useSSL=false

感谢任何帮助

【问题讨论】:

    标签: docker spring-boot docker-compose


    【解决方案1】:

    好的,在这里发现了(非)问题......并为发布它感到羞耻。

    我使用参数 --no-recreate 和 up 命令...所以它总是使用错误的先前配置。

    【讨论】:

      猜你喜欢
      • 2018-12-31
      • 2020-07-12
      • 2019-06-06
      • 1970-01-01
      • 2020-08-05
      • 1970-01-01
      • 2020-12-31
      • 2020-10-08
      相关资源
      最近更新 更多