docker连接数据库报错:com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure。

连接数据库时候报错:com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure。

解决方法:

1.检查idea的yml文件以及Dockerfile文件

Dockerfile文件注意事项:

(1)jdk版本无误:文件->项目结构->项目以及模块 查看版本号是否为jdk11

(2)Dockerfile的文件夹位置是否正确,如下图是正确的

(3) EXPOSE 是否与application一致,为8081。若不写EXPOSE,则文件启动的时候,没有端口号

 

 

application文件注意事项:

(1) 虚拟机的ip地址要写死

虚拟机docker连接mysql的ip地址在哪里查看?-CSDN博客

(2)username和password也要写死

2.数据库的资料是否已经打包好放在虚拟机上?

如何打包数据库mysql数据,并上传到虚拟机上进行部署?-CSDN博客

3.将文件打包好,且Dockerfile上传好后,启动ams

sudo systemctl restart docker

docker build -t ams .

第二个ams从这里看 (红框)

docker images 

 docker run -d -P --name ams ams

启动mysql

 docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=1234  -p 3306:3306 mysql

启动 nginx 

docker start nginx 

 查看进程

docker logs 53fd4b62cc57(红框内容)

只要之后没有爆红, 就可以

以下是常用命令

docker ps -a //查看现在有什么在进行

docker exec -it mysql mysql -u root -p //进入mysql内部

 //先stop 后remove

docker stop ams 

docker rm ams 

docker stop c13f60da68db
docker rm c13f60da68db