最近在docker部署了一个Javaweb项目运行的环境,在容器中部署了mysql和Javaweb项目,但是本地可以跑项目,放到容器里面不行。
具体报错内容是不能访问数据库。
Could not get JDBC Connection; nested exception is com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
最后终于找到问题了,是docker里面的防火墙开启了,
解决方案是关闭防火墙。
1、查看防火墙状态
firewall-cmd --state
如果命令报错,赋予特权
docker run -tdi --privileged centos init
2、停止防火墙
systemctl stop firewalld.service
3、禁止firewall开机启动
systemctl disable firewalld.service
最后终于可以跑起来了