我有两个 docker 容器:mysql 和 spring boot 服务。
服务容器未连接到 mysql 容器(部署失败),出现以下异常:
CommunicationsException:通信链路故障
到目前为止,我已经尝试使用 docker --link、docker 网络,使用/不使用 docker compose 运行所有内容。
我能够连接到 docker 外部的数据库容器。
连接字符串:jdbc:mysql://db:3306/somedb
docker-compose.yml
version: '3.7'
services:
app:
build: .
restart: unless-stopped
ports:
- "80:8060"
links:
- db
depends_on:
- db
db:
image: "mysql:latest"
command: --default-authentication-plugin=mysql_native_password
environment:
- MYSQL_DATABASE=somedb
- MYSQL_ROOT_PASSWORD=somepassword
ports:
- "3306:3306"
volumes:
- /Users/someuser/someproject/mysql/data:/var/lib/mysql
最佳答案
我之前也遇到过同样的问题,我尝试通过更改 mysql 镜像版本来解决。这是我的 compose yaml 文件,我可以将其连接到其中。
version: "3.0"
services:
spring-boot-container:
build: .
ports:
- "8086:8086"
links:
- mysql-standalone
mysql-standalone:
image: mysql:5.6
ports:
- "3307:3306"
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: springsecurity
MYSQL_USER: sa
MYSQL_PASSWORD: password
关于java - 无法从另一个docker容器连接到docker容器中的mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55679046/