docker tomcat8 mysql8部署常见错误
- 出现docker: out of memory bug ,内存溢出
解决方法:
free -mh 应该看一下内存
内存优化/买内存 - **出现java.util.zip.ZipException: error in opening zip file **
传输过程中WAR包损坏
查看代码改变情况与传输情况
备注一点的就是:尽量不要使用IDEA的全局搜索(IDEA的全局搜索经常不知所措的删除一些代码,垃圾) - init datasource error
Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
大概率是数据库配置有问题,很大可能就是数据库url配置的问题,对于数据库url要仔细检查 - Uncaught TypeError: Cannot read property '0' of undefined
provisional headers are shown
很大可能也是数据库的原因 - The error occurred while executing a query:要具体看到query语句
windows上是默认表不区分大小写,linux默认表区分大小写,这个坑要记得。 - init datasource error
java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
mysql8需要在连接的url字符串后加:allowPublicKeyRetrieval=true - ** IDEA打包,打包成的*.war的代码都改变了,但是浏览器没显示改变**
浏览器缓存的问题。 这种已经改了的,但是前端显示没改变,就要想到是各种缓存的问题。 - 修改mysql配置文件/etc/mysql/my.cnf加入lower_case_table_names=1后,启动状态为Exit(1)
/etc/mysql/my.cnf 这个文件0权限都不能动。。动了就不好使。 需要修改参数,就一定在启动容器的时候加入
解决方法:把文件修改成原样,然后执行sudo chmod a-w my.cnf sudo docker cp my.cnf 容器id:/etc/mysql/my.cnf sudo docker start mysql
- 原来打包成镜像,数据是不会存在于镜像当中的。
原则是:镜像中不存储数据。 -
docker 访问持久化数据,-v -mount -tmpfs **-mount可以支持创建集群服务的数据卷,而-v不行,其余基本没差 个人感觉就是-v是简化版的-mount,更加常见**
连数据库的四要素 总结一下:
- 连的驱动得对(mysql的就导mysql驱动,oracle的就导入oracle的驱动)
- 连接地址得对
- 数据库名称得对
- 用户名密码得对