Docker openjdk-8-jdk-alpine 容器時間與jdk時區不同修改方法


測試時發現以 openjdk-8-jdk-alpine 為基礎鏡像制作的鏡像有時區問題。查資料知道 alpine 本身不帶時區信息。按以下方法修改后正常獲取時間。

一、掛載宿主機的時區到容器

啟動命令增加參數 -v /etc/localtime:/etc/localtime

啟動容器,進入查看時間正常,時區也已同步。但java應用獲取的時間還是差8小時。

繼續查找資料 java 獲取時區與 linux 系統時區的不同 參考博客

二、設置容器內時區

通過后來不斷嘗試,修改 localtime 確定無效,最后采用笨方法,制作應用鏡像時,通過 shell 修改時區

Dockerfile 中增加修改時區的命令 echo "Asia/Shanghai" > /etc/timezone

通過測試,jdk 中或正常獲取設置的東8時區。但還有一個遺留問題,使用 springboot 啟動項目,打印出來的時間時間還是默認時區,而應用中獲取的時間都是正常的時間。暫且記下,有時間再細看


免責聲明!

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



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