docker 修改服务器时间同步,解决Docker容器时区及时间不同步问题的方法
今天在系統集成測試時由測試人員提交了一個測試bug,原因是提交業務數據時間與實際時間(北京時間)有偏差,導致統計異常。由于我們集成測試是向測試人員直接提供完整的Docker鏡像作為測試環境,原因應該是出在容器時間設置上。
拿到交付的docker鏡像后,啟動后進入容器控制臺,使用date命令查看果然時間不正確。再查看宿主機時間是正確,這樣肯定是容器啟動時未將時區與宿主機保持同步了,由于測試鏡像是由dockfile直接構建,因此問題基本了定準在dockerfile文件上了。
打開dockerfile檢查后發現確實確失與宿主機時區同步設置。故在此將如何添加時區同步過程記錄一下,同時給遇到過類似問題的同學以借鑒:
以下以Alpine制作的docker鏡像為例(也是我們的測試鏡像):
1 Dockerfile修改
1.1 增加安裝tzdata包
在安裝包時安裝tzdata安裝包,并且在構建成功后不能清理此安裝包
1.2 增加時區配置
安裝此安裝包后,會在/usr/share/zoneinfo目錄下生成各時區配置信息,Alpine目錄并無timezone及locatime配置,此時我們需要將時區值覆寫至Alpine的timezone及localtime配置中,命令如下:
至此,dockerfile的修改工作已經結束。
2 宿主機時區及時間檢查
檢查宿主機時間及時間是否正確,使用以下命令:
至此宿主機時區及時間調整完畢。
3. 構建容器測試
根據上述dockerfile重新生成鏡像,并使用RUN命令啟動容器,查看當時窗口時間
已與宿主同步,整個調整過程結束~~
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:http://www.cnblogs.com/javacspring/p/6172327.html
總結
以上是生活随笔為你收集整理的docker 修改服务器时间同步,解决Docker容器时区及时间不同步问题的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【51单片机】驱动继电器实验代码
- 下一篇: 个性闹钟屏保带滚动字幕