docker compose mysql与spring boot的链接问题
在关于堆栈溢出的其他问题中也提出了类似的问题,但我似乎无法让我的DockerSpring启动应用程序通过DockerCompose链接到我的DockerMySQL容器 这是我的docker撰写文件:docker compose mysql与spring boot的链接问题,docker,spring-boot,docker-compose,Docker,Spring Boot,Docker Compose,在关于堆栈溢出的其他问题中也提出了类似的问题,但我似乎无法让我的DockerSpring启动应用程序通过DockerCompose链接到我的DockerMySQL容器 这是我的docker撰写文件: mysql: image: mysql/mysql-server:latest environment: - MYSQL_ROOT_PASSWORD=C4rdi0St4t! - MYSQL_DATABASE=icentia ports: - "
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
如果我在没有通过IDE在容器中运行的情况下启动spring boot应用程序,并使用localhost:3306,它就可以工作,因此可以通过mysql容器的端口配置(这意味着配置是正确的)
这是Docker为Mac BTW提供的
Spring启动错误:
Caused by: java.net.ConnectException: Connection refused
如果我使用docker compose启动mysql,而不使用compose文件中的spring boot应用程序,并且只使用一个run命令,该命令带有指向使用docker compose启动的正在运行的mysql容器的链接,那么它可以使用这个jdbc连接字符串
url: jdbc:mysql://icentiadb/icentia?autoReconnect=true&useSSL=false
感谢您的任何帮助确定在此处找到(非)问题。。。并且为张贴它感到羞愧
我用的是param--no recreate和up命令。。。所以它总是使用错误的先前配置