国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - docker容器時區錯誤問題

docker容器時區錯誤問題

2022-01-19 16:18AntThinker 服務器知識

常出現docker中運行的容器獲取到的時間與北京時間相差8小時的問題,其實是因為容器運行的時區不正確。本文主要介紹了docker容器時區錯誤問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下

背景

利用node-schedule定時任務庫寫了一個自動定時發郵件的腳本,每天上午7點發送郵件,郵件中會獲取當天日期

問題

收到郵件的時間為下午三點,而不是上午7點,推測是時區設置問題

問題分析及解決辦法

經過排查發現,node-schedule庫不支持選擇時區,所以默認按照全球標準時UTC發送,我們通常傳入的時間是中國上海時區時間CST,中間會相差八小時。
更換了定時任務庫,采用node-schedule-tz定時任務庫,支持選擇CST時區,并采用corntab時間格式

?
1
2
3
4
5
6
7
let j = schedule.scheduleJob('name',"0 7 * * *",'Asia/Shanghai', function () {
 
  console.log("執行任務");
 
  getAllDataAndSendMail();
 
});

新的問題

更改完時間后,出現了一個新的問題,郵件中獲取的時間是昨天的時間,而不是今天的時間

問題分析及解決辦法

想了一下,代碼中總共有兩個地方獲取了時間,一個是定時任務庫傳入的發郵件的時間,一個是腳本里獲取當前時間

?
1
let today = new Date()

因為我有打印today的log,查看下日志

?
1
2
docker logs -f [containerID]
# today:2021-11-12T23:00:00.106Z

發現早上7點發送的郵件,today拿到的時間是前一天的23點,也是相差8小時
利用下面的命令,進入docker容器中查看時間

?
1
2
3
4
$ docker exec -it [containerID] sh
# 進入容器之后前面會變成#
# 輸入date查看時間
date  # Sat Nov 13 05:05:31 UTC 2021

果然是UTC全球標準時,說明發送郵件時間確實改回來了,但是代碼執行時獲取的時間是此刻的全球標準時。
我們把本機的時間復制給容器的時間

?
1
docker cp /etc/localtime [containerID]:/etc/

再次按照上述查看容器內時間,發現已經改回來CST了,應該沒有什么問題了

到此這篇關于docker容器時區錯誤問題的文章就介紹到這了,更多相關docker 時區錯誤內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://juejin.cn/post/7039956795372093471

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 中文字幕视频在线 | 国语av在线| 一区视频在线 | 四虎影院在线免费播放 | 午夜tv| 亚洲精品一 | 欧美在线观看免费观看视频 | 国产欧美日韩综合精品一区二区 | 黄色免费网站在线观看 | 日韩亚洲在线 | 成人在线免费观看视频 | 国产精品成人国产乱一区 | 日韩免费一区 | 久久亚洲视频 | 成人精品视频 | 毛片一级在线 | 激情小视频| 在线观看国产二区 | 亚洲午夜在线 | 久久精品国产一区二区三区不卡 | 一级久久久 | 超碰成人在线免费 | 欧美成人精品一区二区三区 | 日韩欧美一级电影 | 九九国产 | 中文字幕在线精品 | 日韩有码在线观看 | 美女一区 | 在线观看av网站永久 | 欧美精品一区二区三区在线四季 | 黄色一级大片免费看 | 在线视频a | 欧美在线操| av影片在线 | 久久综合九色综合欧美狠狠 | 久久精品99久久 | 久久国产综合 | 国产精品毛片一区二区 | 国产福利在线观看 | 国产精品亚洲第一区在线暖暖韩国 | 91精品久久久久久久久久久 |