前幾天在測試應用的功能時,發(fā)現(xiàn)存入數(shù)據(jù)庫中的數(shù)據(jù)create_time或者update_time字段總是錯誤,其他數(shù)據(jù)都是正常的,只有關于時間的字段是錯誤的。
進入linux服務器中查看,也沒有任何的異常,然后就覺得可能是docker容器的問題,進入到容器中,查看系統(tǒng)時間,果然與宿主機中的時間不同,在網(wǎng)上查了一會兒資料后知道了答案,時區(qū)的設置問題,中國的時區(qū)為東八區(qū),但是和其他國家的可能會不同,如果在創(chuàng)建容器時沒有做修改的話,時區(qū)可能就不是東八區(qū)了,因此會出現(xiàn)這種類似的問題。
處理方法:
ENV TZ=Asia/ShanghaiRUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
在創(chuàng)建容器的Dockerfile文件中添加以上設置即可,再次創(chuàng)建容器,可以看到系統(tǒng)時間已經(jīng)正常顯示為東八區(qū)的時間了。
新聞熱點
疑難解答
圖片精選