docker容器的時間問題

2021-08-12 00:06:06 字數 824 閱讀 7134

問題一:docker時間與宿主機時間不一致

原因是docker容器和宿主機使用了不同的時區。

如宿主機使用cst(china standard time) 而docker容器使用utc(coordinated universal time),那麼兩者就會相差8小時。

解決方法一:建立容器時掛載宿主機localtime檔案到容器內,新增命令

-v  /etc/localhost:/etc/localhost:ro
解決方法二:把時區設定加入到dockerfile中

問題二:僅修改docker容器中的時間,而不影響宿主機的時間

docker 容器都是輕量級的,它們會共享相同的linux核心,而time& date 是kelnel的函式,所有修改docker容器的時間也會

造成宿主機時間被修改。

在github上有乙個libfaketime專案,我們可以使用ld_preload這個環境變數使date連線這個專案編譯的庫來「欺騙」應

用,達到修改docker容器時間的目的,具體做法:

1.pull專案:

2.使用make命令編譯src下的**,得到動態庫檔案:libfaketime.so.1

3.執行 docker exec -it /bin/bash進入容器

4.使用如下命令修改程式執行時的鏈結,並設定時間為2天前。

export ld_preload=/usr/local/lib/faketime/libfaketime.so.1 faketime="-2d"

關於docker線上部署時間問題

背景 公司線上部署採用docker swarm方式,這幾天線上專案時間突然出了問題 ps 第一反應,我去,這也能出問題,裡肯定藏毒了 線上時間總跟實際時間差八個小時。本著速戰速決的原則,把所有時間減了八個小時,夜晚一上線,臥槽,沒生效,大佬給我 指點 一通後我幡然醒悟。得,總結一下問題 問題分析 宿...

時間問題3

問題及 檔名稱 main.cpp 作 者 李磊濤 版 本 號 v1.0 問題描述 輸入時間輸出時間。輸入描述 時間時分秒和要增加的時分秒。程式輸出 時間時分秒。includeusing namespace std class time void time add a sec void time ad...

C 時間問題

datetime dt datetime.now 當前時間 datetime startweek dt.adddays 1 convert.toint32 dt.dayofweek.tostring d 本週周一 datetime endweek startweek.adddays 6 本週週日 d...