一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

云服務(wù)器|WEB服務(wù)器|FTP服務(wù)器|郵件服務(wù)器|虛擬主機(jī)|服務(wù)器安全|DNS服務(wù)器|服務(wù)器知識|Nginx|IIS|Tomcat|

服務(wù)器之家 - 服務(wù)器技術(shù) - 服務(wù)器知識 - 解決Docker容器時(shí)區(qū)及時(shí)間不同步問題的方法

解決Docker容器時(shí)區(qū)及時(shí)間不同步問題的方法

2020-12-31 23:44瀕湖紫云 服務(wù)器知識

這篇文章主要介紹了解決Docker容器時(shí)區(qū)及時(shí)間不同步問題的方法,有效的解決了Docker容器時(shí)間同步問題,有興趣的可以了解一下。

今天在系統(tǒng)集成測試時(shí)由測試人員提交了一個(gè)測試bug,原因是提交業(yè)務(wù)數(shù)據(jù)時(shí)間與實(shí)際時(shí)間(北京時(shí)間)有偏差,導(dǎo)致統(tǒng)計(jì)異常。由于我們集成測試是向測試人員直接提供完整的Docker鏡像作為測試環(huán)境,原因應(yīng)該是出在容器時(shí)間設(shè)置上。

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

打開dockerfile檢查后發(fā)現(xiàn)確實(shí)確失與宿主機(jī)時(shí)區(qū)同步設(shè)置。故在此將如何添加時(shí)區(qū)同步過程記錄一下,同時(shí)給遇到過類似問題的同學(xué)以借鑒:

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

1 Dockerfile修改

1.1 增加安裝tzdata包

在安裝包時(shí)安裝tzdata安裝包,并且在構(gòu)建成功后不能清理此安裝包

?
1
2
3
4
5
6
7
8
#定義環(huán)境變量
ENV TIME_ZONE Asiz/Shanghai
#dockerfile增加命令
RUN \
 
 #安裝tzdata安裝包
 
 && apk add --no-cache tzdata \

 1.2 增加時(shí)區(qū)配置

安裝此安裝包后,會在/usr/share/zoneinfo目錄下生成各時(shí)區(qū)配置信息,Alpine目錄并無timezone及l(fā)ocatime配置,此時(shí)我們需要將時(shí)區(qū)值覆寫至Alpine的timezone及l(fā)ocaltime配置中,命令如下:

?
1
2
3
4
5
6
7
8
```
RUN \
...
#安裝tzdata安裝包
&& apk add --no-cache tzdata \
#設(shè)置時(shí)區(qū)
&& echo "${TIME_ZONE}" > /etc/timezone \
&& ln -sf /usr/share/zoneinfo/${TIME_ZONE} /etc/localtime \

至此,dockerfile的修改工作已經(jīng)結(jié)束。

 2 宿主機(jī)時(shí)區(qū)及時(shí)間檢查

檢查宿主機(jī)時(shí)間及時(shí)間是否正確,使用以下命令:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
```
[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) //默認(rèn)為西五區(qū)
   NTP enabled: n/a
NTP synchronized: no
RTC in local TZ: no
   DST active: no
Last DST change: DST ended at
         Sun 2016-11-06 01:59:59 EDT
         Sun 2016-11-06 01:00:00 EST
Next 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
#修改為東八區(qū)
[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/a
NTP synchronized: no
RTC in local TZ: no
   DST active: n/a
[root@docker ~]# date
Wed Dec 14 10:53:49 CST 2016
#調(diào)整時(shí)間
[root@docker ~]# date -s "2016-12-13 21:54:20"
#時(shí)間同步,不執(zhí)行則無法生效
[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/a
NTP synchronized: no
RTC in local TZ: no
   DST active: n/a
```

至此宿主機(jī)時(shí)區(qū)及時(shí)間調(diào)整完畢。

3. 構(gòu)建容器測試

根據(jù)上述dockerfile重新生成鏡像,并使用RUN命令啟動容器,查看當(dāng)時(shí)窗口時(shí)間

?
1
2
/ # date
Tue Dec 13 23:01:18 CST 2016

已與宿主同步,整個(gè)調(diào)整過程結(jié)束~~

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://www.cnblogs.com/javacspring/p/6172327.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 2019国内精品久久久久久 | 日韩欧美国内 | 闺蜜高h | 午夜熟女插插XX免费视频 | 成年无限观看onlyfans | jizzjizzjⅰzz亚洲美女 | 希岛爱理作品在线观看 | 国产在线99 | 亚洲国产成人久久77 | 四虎影院精品在线观看 | 丰满的闺蜜2中文字幕 | 国产精品久久久久毛片真精品 | 精品久久久噜噜噜久久7 | 免费高清资源黄网站在线观看 | chinese国产打屁股 | 成年人免费在线播放 | 欧美日韩国产最新一区二区 | 亚洲欧美日韩国产精品一区 | 亚洲国产精品久久无套麻豆 | 亚洲国产日韩欧美在线vip1区 | 欧美亚洲高清日韩成人 | 精品手机在线1卡二卡3卡四卡 | 亚洲精品一二区 | 秘书小说| 日本三级斤| 精品91一区二区三区 | 亚洲高清无在码在线电影 | 欧美a级v片不卡在线观看 | 国产亚洲精品日韩香蕉网 | 91精品综合久久久久久五月天 | 欧美日韩国产亚洲一区二区 | 国产成人精品午夜视频' | 精品手机在线1卡二卡3卡四卡 | 国产区综合另类亚洲欧美 | 5278欧美一区二区三区 | 国产新疆成人a一片在线观看 | 久久这里都是精品 | 亚洲成aⅴ人片在线 | 3p文两男一女办公室高h | 欧美午夜性春猛交bbb | 午夜dj影院在线观看完整版 |