国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

解決Docker容器時區及時間不同步問題的方法

2024-09-01 13:49:37
字體:
來源:轉載
供稿:網友

今天在系統集成測試時由測試人員提交了一個測試bug,原因是提交業務數據時間與實際時間(北京時間)有偏差,導致統計異常。由于我們集成測試是向測試人員直接提供完整的Docker鏡像作為測試環境,原因應該是出在容器時間設置上。

拿到交付的docker鏡像后,啟動后進入容器控制臺,使用date命令查看果然時間不正確。再查看宿主機時間是正確,這樣肯定是容器啟動時未將時區與宿主機保持同步了,由于測試鏡像是由dockfile直接構建,因此問題基本了定準在dockerfile文件上了。

打開dockerfile檢查后發現確實確失與宿主機時區同步設置。故在此將如何添加時區同步過程記錄一下,同時給遇到過類似問題的同學以借鑒:

以下以Alpine制作的docker鏡像為例(也是我們的測試鏡像):

1 Dockerfile修改

1.1 增加安裝tzdata包

在安裝包時安裝tzdata安裝包,并且在構建成功后不能清理此安裝包

#定義環境變量ENV TIME_ZONE Asiz/Shanghai#dockerfile增加命令RUN / #安裝tzdata安裝包 && apk add --no-cache tzdata /

 1.2 增加時區配置

安裝此安裝包后,會在/usr/share/zoneinfo目錄下生成各時區配置信息,Alpine目錄并無timezone及locatime配置,此時我們需要將時區值覆寫至Alpine的timezone及localtime配置中,命令如下:

```RUN /...#安裝tzdata安裝包&& apk add --no-cache tzdata / #設置時區&& echo "${TIME_ZONE}" > /etc/timezone / && ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime /

至此,dockerfile的修改工作已經結束。

 2 宿主機時區及時間檢查

檢查宿主機時間及時間是否正確,使用以下命令:

```[root@docker ~]# timedatectl   Local time: Tue 2016-12-13 21:52:13 EST Universal time: Wed 2016-12-14 02:52:13 UTC    RTC time: Wed 2016-12-14 02:52:13    Time zone: America/New_York (EST, -0500) //默認為西五區   NTP enabled: n/aNTP synchronized: noRTC in local TZ: no   DST active: noLast DST change: DST ended at         Sun 2016-11-06 01:59:59 EDT         Sun 2016-11-06 01:00:00 ESTNext DST change: DST begins (the clock jumps one hour forward) at         Sun 2017-03-12 01:59:59 EST         Sun 2017-03-12 03:00:00 EDT#修改為東八區[root@docker ~]# timedatectl set-timezone Asia/Shanghai Local time: Wed 2016-12-14 10:53:10 CST Universal time: Wed 2016-12-14 02:53:10 UTC    RTC time: Wed 2016-12-14 02:53:10    Time zone: Asia/Shanghai (CST, +0800)   NTP enabled: n/aNTP synchronized: noRTC in local TZ: no   DST active: n/a[root@docker ~]# dateWed Dec 14 10:53:49 CST 2016#調整時間[root@docker ~]# date -s "2016-12-13 21:54:20"#時間同步,不執行則無法生效[root@docker ~]# clock -w [root@docker ~]# timedatectl   Local time: Tue 2016-12-13 22:59:44 CST Universal time: Tue 2016-12-13 14:59:44 UTC    RTC time: Tue 2016-12-13 14:59:44    Time zone: Asia/Shanghai (CST, +0800)   NTP enabled: n/aNTP synchronized: noRTC in local TZ: no   DST active: n/a```

至此宿主機時區及時間調整完畢。

3. 構建容器測試

根據上述dockerfile重新生成鏡像,并使用RUN命令啟動容器,查看當時窗口時間

/ # dateTue Dec 13 23:01:18 CST 2016

已與宿主同步,整個調整過程結束~~

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宝应县| 宜阳县| 祥云县| 滨州市| 项城市| 望奎县| 丹凤县| 镇雄县| 务川| 深水埗区| 扶绥县| 潮安县| 宝应县| 资阳市| 山东省| 德钦县| 巴林右旗| 左云县| 武穴市| 额尔古纳市| 苏尼特左旗| 曲松县| 平湖市| 平顶山市| 南汇区| 绥中县| 永新县| 阳泉市| 富平县| 大姚县| 阳东县| 吉安市| 贵南县| 定南县| 新巴尔虎右旗| 托克托县| 西昌市| 南华县| 濮阳市| 于都县| 贺兰县|