【发布时间】: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