Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker与JDBC的通信链路故障_Docker - Fatal编程技术网

Docker与JDBC的通信链路故障

Docker与JDBC的通信链路故障,docker,Docker,我在寻找这个问题的答案,但找不到任何解决办法。 我试图将我的应用程序推送到docker上,但当我放置“docker compose”时,它显示: com.mysql.cj.jdbc.exceptions.CommunicationsException:通信链路故障 原因:java.net.ConnectException:连接被拒绝 这是我的Dockerfile: FROM openjdk:latest ADD target/my-app.jar /my-app.jar EXPOSE 808

我在寻找这个问题的答案,但找不到任何解决办法。 我试图将我的应用程序推送到docker上,但当我放置“docker compose”时,它显示:

com.mysql.cj.jdbc.exceptions.CommunicationsException:通信链路故障

原因:java.net.ConnectException:连接被拒绝

这是我的Dockerfile:

FROM openjdk:latest

ADD target/my-app.jar /my-app.jar

EXPOSE 8080

CMD ["java", "-jar", "/my-app.jar"]
这些是我的财产:

spring.main.allow-bean-definition-overriding=true

spring.datasource.url=jdbc:mysql://mysql:3306/rabbit_messages?createDatabaseIfNotExist=true
spring.datasource.username=root
spring.datasource.password=1234


spring.rabbitmq.host = rabbitmq
spring.rabbitmq.port = 5672
spring.rabbitmq.username = guest
spring.rabbitmq.password = guest

spring.jpa.hibernate.ddl-auto=create
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
如果我在本地运行它,并使用“localhost”更改容器名称,那么效果很好。 当我在docker上运行它时,我得到了我上面发布的错误。 有人能帮忙吗

docker compose:

版本:“3”
服务:
我的应用程序:
容器名称:myapp
建造:
上下文:。
dockerfile:dockerfile
端口:
- "8080:8080"
链接:
-兔子
-mysql
环境:
-SPRING\u数据源\u URL=jdbc:mysql://mysql:3307/rabbit_messages?createDatabaseIfNotExist=true
-SPRING\u数据源\u用户名=根
-SPRING\u数据源\u密码=1234
-SPRING\u RABBITMQ\u HOST=RABBITMQ
取决于:
-兔子
-mysql
rabbitmq:
image:rabbitmq:3-management
容器名称:rabbitmq
端口:
- "5672:5672"
- "15672:15672"
mysql:
图片:mysql:最新版本
容器名称:mysql
端口:
- "3307:3307"
环境:
-MYSQL\u数据库=rabbit\u消息
-MYSQL\u ROOT\u PASSWORD=1234
-MYSQL_密码=1234
重新启动:失败时

如果您在运行docker compose时出现问题,请提供您的
docker compose.yml
@im\u baby我添加了它。很抱歉没有引用,但我是通过移动的。在你的属性中有mysql:3306,在docker compose中有mysql:3307。可能吗?是的,@UrbanoJVR看起来是正确的。此外,
链接
已被弃用,因此请务必停止使用它。已经尝试没有链接-同样的事情发生了