最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2016年12月14日 08:38:32   作者:瀕湖紫云  
這篇文章主要介紹了解決Docker容器時區(qū)及時間不同步問題的方法,有效的解決了Docker容器時間同步問題,有興趣的可以了解一下。

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

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

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

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

1 Dockerfile修改

1.1 增加安裝tzdata包

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

#定義環(huán)境變量
ENV TIME_ZONE Asiz/Shanghai
#dockerfile增加命令
RUN \

 #安裝tzdata安裝包

 && apk add --no-cache tzdata \

 1.2 增加時區(qū)配置

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

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

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

 2 宿主機時區(qū)及時間檢查

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

```
[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) //默認為西五區(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)整時間
[root@docker ~]# date -s "2016-12-13 21:54:20"
#時間同步,不執(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
```

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

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

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

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

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

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

相關(guān)文章

  • 使用docker命令不需要敲sudo的操作

    使用docker命令不需要敲sudo的操作

    這篇文章主要介紹了使用docker命令不需要敲sudo的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 解決docker登錄私倉失敗cannot validate certificate for 192.168.76.131 because it doesn‘t contain any IP SANs

    解決docker登錄私倉失敗cannot validate certificate for

    文章主要講述了如何搭建和配置Harbor鏡像倉庫,并詳細描述了解決在登錄Harbor私倉時遇到的問題的方法,包括重啟Docker服務(wù)、解決登錄報錯、重新配置認證等步驟,最后成功拉取鏡像
    2026-04-04
  • 兩臺互通的服務(wù)器使用Docker部署一主兩從MySQL8.0.35的方法

    兩臺互通的服務(wù)器使用Docker部署一主兩從MySQL8.0.35的方法

    本文主要介紹了在兩臺服務(wù)器上使用Docker部署一主兩從的MySQL?8.0.35架構(gòu),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • Docker下Mysql8數(shù)據(jù)備份與恢復(fù)實現(xiàn)

    Docker下Mysql8數(shù)據(jù)備份與恢復(fù)實現(xiàn)

    文章主要介紹了如何在Docker中創(chuàng)建和管理MySQL容器,包括創(chuàng)建容器、連接數(shù)據(jù)庫、備份和恢復(fù)數(shù)據(jù)庫、設(shè)置定時備份以及解決常見問題
    2026-01-01
  • docker容器run命令設(shè)置方式

    docker容器run命令設(shè)置方式

    docker run命令中的-p參數(shù)用于映射宿主機端口到容器端口,注意宿主機端口不應(yīng)被占用,且容器端口應(yīng)為容器內(nèi)運行程序的實際端口號,宿主機是指運行Docker的物理或虛擬主機
    2024-11-11
  • 使用Docker啟動mysql成功后,使用docker ps查不到的問題及解決

    使用Docker啟動mysql成功后,使用docker ps查不到的問題及解決

    這篇文章主要介紹了使用Docker啟動mysql成功后,使用docker ps查不到的問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Docker更換存儲位置的實現(xiàn)

    Docker更換存儲位置的實現(xiàn)

    本文主要介紹了Docker更換存儲位置的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-05-05
  • docker和docker compose版本太低問題的解決方案

    docker和docker compose版本太低問題的解決方案

    本文主要介紹了Docker和docker-compose版本過低導(dǎo)致的KeyError: 'ContainerConfig'錯誤的解決方法,具有一定的參考價值,感興趣的可以了解一下
    2025-03-03
  • Docker的鏡像制作與整套項目一鍵打包部署的實現(xiàn)

    Docker的鏡像制作與整套項目一鍵打包部署的實現(xiàn)

    這篇文章主要介紹了Docker的鏡像制作與整套項目一鍵打包部署的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Docker實戰(zhàn)指南之MySQL、Redis與C++環(huán)境的深度容器化部署

    Docker實戰(zhàn)指南之MySQL、Redis與C++環(huán)境的深度容器化部署

    項目開發(fā)中最常用的就是MySQL和Redis了,咱們的實戰(zhàn)項目的需求開發(fā)過程中也依賴這兩個基礎(chǔ)環(huán)境,這篇文章主要介紹了Docker實戰(zhàn)指南之MySQL、Redis與C++環(huán)境的深度容器化部署,需要的朋友可以參考下
    2025-12-12

最新評論

盈江县| 阿克| 扎兰屯市| 漳浦县| 佛坪县| 盐边县| 达州市| 咸宁市| 宜章县| 卢氏县| 木兰县| 沙田区| 马山县| 阜阳市| 巴马| 凤山县| 自贡市| 奉贤区| 永清县| 彩票| 清镇市| 乌海市| 南木林县| 巴里| 洪雅县| 哈尔滨市| 佳木斯市| 都昌县| 个旧市| 安庆市| 额济纳旗| 许昌市| 化德县| 山东省| 区。| 冕宁县| 沙雅县| 桦川县| 上高县| 云梦县| 桑植县|