容器无法连接mysql
来源:2-7 Docker运行Mysql Server

慕先生5490524
2021-02-13
mysql57的容器已启动,并且用java -jar 方式是可以启动kubeblog应用并通过宿主机访问的。
改成用容器docker run --name kubeblog -d -p 5000:5000 --link mysql57 kubeblog:1.0后,看docker logs发现
springboot报错
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
请帮忙看看是什么问题,谢谢!
写回答
1回答
-
在程序里默认访问的数据库是 url: jdbc:mysql://${MYSQL_SERVER:localhost}:${MYSQL_PORT:3306}/${MYSQL_DB_NAME:blogDB}?useUnicode=true&characterEncoding=utf-8
所以第一会优先访问localhost:3306, 在容器里运行 kubeblog时,容器内没有 localhost:3306这个数据服务器,所以此时会尝试查找容器里的环境变量MYSQL_SERVER和MYSQL_PORT。 可以在容器启动的时候,传入这两个参数,参数值分别为 mysql57和 3306。
012021-02-13
相似问题