gpt4 book ai didi

java - docker 网络在没有链接的情况下无法工作

转载 作者:行者123 更新时间:2023-12-02 12:18:36 25 4
gpt4 key购买 nike

我有一个 mysql 容器和一个需要连接到 mysql 容器的 service 容器。

我使用docker network create chrisbolton创建了一个网络

我正在使用 mysql 容器

docker run --name chrisbolton-mysql -v/Users/Bolton/chrisbolton-data:/var/lib/mysql --network chrisbolton -e MYSQL_ROOT_PASSWORD=密码 -e MYSQL_DATABASE=chrisbolton -d mysql:latest

我正在启动 service 容器

docker run -p 8080:8080 --name chrisbolton-service --network chrisbolton --link chrisbolton-mysql:mysql -d chrisbolton-service

但是,我知道 link 已被弃用,我需要改为仅使用networks。但如果我删除此处的链接,两个容器就无法通信。

我使用以下配置连接到mysql:

#disbale Spring banner
spring.main.banner-mode=off

spring.datasource.url=jdbc:mysql://mysql:3306/chrisbolton
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

我已经完成了docker网络检查chrisbolton来获取IP地址,并尝试更改我的配置文件以直接指向该IP地址。但仍然不确定为什么无法连接。

最佳答案

datasource.url 不正确,您应该指定要连接的容器的名称。有比使用服务名称更好的选择。您可以使用aliaseshostname .

在这种情况下,正如您在评论中指出的那样,datasource.url 需要是 jdbc:mysql://chrisbolton-mysql:3306/chrisbolton

关于java - docker 网络在没有链接的情况下无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45972201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com