Java docker网络在没有链接的情况下无法工作
我有一个Java docker网络在没有链接的情况下无法工作,java,docker,spring-boot,docker-network,Java,Docker,Spring Boot,Docker Network,我有一个mysql容器和一个需要连接到mysql容器的service容器 我用docker network create chrisbolton创建了一个网络 我正在使用 docker run--name chrisbolton mysql-v/Users/Bolton/chrisbolton data:/var/lib/mysql--network chrisbolton-e mysql\u ROOT\u PASSWORD=PASSWORD-e mysql\u DATABASE=chrisbo
mysql
容器和一个需要连接到mysql
容器的service
容器
我用docker network create chrisbolton创建了一个网络
我正在使用
docker run--name chrisbolton mysql-v/Users/Bolton/chrisbolton data:/var/lib/mysql--network chrisbolton-e mysql\u ROOT\u PASSWORD=PASSWORD-e mysql\u DATABASE=chrisbolton-d mysql:latest
我正在使用
docker-run-p8080:8080——名称chrisbolton服务——网络chrisbolton——链接chrisbolton-mysql:mysql-d chrisbolton服务
但是,我知道链接
已被弃用,我需要转向仅使用网络
。但是如果我在这里删除链接
,这两个容器将无法通信
我正在使用以下配置连接到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 network inspect chrisbolton以获取IPAddress,并尝试更改配置文件以直接指向该地址。但是仍然不确定它为什么无法连接。
数据源。url
不正确,您应该指定要连接到的容器的名称。有比使用服务名称更好的选项。您可以使用或
而在本例中,正如您在注释中指出的,
datasource.url
需要是jdbc:mysql://chrisbolton-mysql:3306/chrisbolton
数据源。url
不正确,应指定要连接到的容器的名称。稍后您将知道,有比使用服务名称更好的选项。因此datasource.url
需要是jdbc:mysql://chrisbolton-mysql:3306/chrisbolton
?是的,应该可以。你试过了吗?@Ayushya成功了!非常感谢。