背景
最近把docker的一些基本操作都学了一下,想试着把个人博客通过docker来进行部署,部署过程中遇到了这么一个问题:
liquibase.exception.DatabaseException: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
这问题看着就像连接不上数据库,所以就报错了,只要解决Docker容器内访问宿主机的MySQL,这个问题就能得到解决。
解决(CentOS8)
一、开放端口
将宿主机用到的mysql端口开放出来,默认是3306,如果是阿里云服务器,可以将连接数据库的url的ip写为内网ip,这样不用去阿里云控制台安全组上再配置端口
#开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#刷新一下
firewall-cmd --reload