記一次docker時間與服務器時間不一致的修復


接手一個項目,發現數據生成日期和當前日期不一致,考慮幾個可能

1.代碼存在問題

2.服務器時間不正確

3.docker容器時間不正確

首先過一遍代碼,獲取當前系統時間無誤,排除第一個原因;

進入服務器,執行命令

date

  確認時間與當前一致,排除第二個原因;

查看當前容器時間

docker exec -it 當前容器id /bin/sh
/usr/local/myapp # date

  

對比確認時間不一致,確定是docker時間問題,尋找解決方法,參考這位同學的方法:https://www.cnblogs.com/effortsing/p/10060547.html

編輯好dockerfile后執行報錯:'/usr/share/zoneinfo/Asia/Shanghai' 路徑找不到,無法進行cp操作

排查原因無果,考慮其它方法

在docker啟動腳本上加上以下代碼

#通過匹配docker鏡像名獲取鏡像id
docker_find=$(docker ps -q --filter name=^/鏡像名)
#將服務器的時區寫入docker的本地時區文件里
docker cp /usr/share/zoneinfo/Asia/Shanghai $docker_find:/etc/localtime

  重新啟動后查詢容器時間

 

 獲取成功!!

 


免責聲明!

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



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