docker tomcat8 mysql8部署常見錯誤


  1. 出現docker: out of memory bug ,內存溢出
    解決方法:
    free -mh 應該看一下內存
    內存優化/買內存
  2. **出現java.util.zip.ZipException: error in opening zip file **
    傳輸過程中WAR包損壞
    查看代碼改變情況與傳輸情況
    備注一點的就是:盡量不要使用IDEA的全局搜索(IDEA的全局搜索經常不知所措的刪除一些代碼,垃圾)
  3. 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要仔細檢查
  4. Uncaught TypeError: Cannot read property '0' of undefined
    provisional headers are shown
    很大可能也是數據庫的原因
  5. The error occurred while executing a query:要具體看到query語句
    windows上是默認表不區分大小寫,linux默認表區分大小寫,這個坑要記得。
  6. 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
  7. ** IDEA打包,打包成的*.war的代碼都改變了,但是瀏覽器沒顯示改變**
    瀏覽器緩存的問題。 這種已經改了的,但是前端顯示沒改變,就要想到是各種緩存的問題。
  8. 修改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
    
  9. 原來打包成鏡像,數據是不會存在於鏡像當中的。
    原則是:鏡像中不存儲數據。
  10. docker 訪問持久化數據,-v -mount -tmpfs
       **-mount可以支持創建集群服務的數據卷,而-v不行,其余基本沒差          個人感覺就是-v是簡化版的-mount,更加常見**
    

連數據庫的四要素 總結一下:

  1. 連的驅動得對(mysql的就導mysql驅動,oracle的就導入oracle的驅動)
  2. 連接地址得對
  3. 數據庫名稱得對
  4. 用戶名密碼得對


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM