日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

【Docker】容器与系统时间同步

發(fā)布時間:2025/3/20 windows 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Docker】容器与系统时间同步 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在Docker容器創(chuàng)建好之后,可能會發(fā)現(xiàn)容器時間跟宿主機時間不一致,這就需要同步它們的時間,讓容器時間跟宿主機時間保持一致。如下:

宿主機時間 [root@slave-1 ~]# date Fri May 12 11:20:30 CST 2017容器時間 [root@slave-1 ~]# docker exec -ti 87986863838b /bin/bash root@87986863838b:/# date Fri May 12 03:20:33 UTC 2017

發(fā)現(xiàn)兩者之間的時間相差了八個小時!
宿主機采用了CST時區(qū),CST應(yīng)該是指(China Shanghai Time,東八區(qū)時間)
容器采用了UTC時區(qū),UTC應(yīng)該是指(Coordinated Universal Time,標準時間)


統(tǒng)一兩者的時區(qū)有下面幾種方法

1)共享主機的localtime

創(chuàng)建容器的時候指定啟動參數(shù),掛載localtime文件到容器內(nèi),保證兩者所采用的時區(qū)是一致的。 # docker run -ti -d --name my-nginx -v /etc/localtime:/etc/localtime:ro docker.io/nginx /bin/bash

2)復(fù)制主機的localtime

[root@slave-1 ~]# docker cp /etc/localtime 87986863838b:/etc/然后再登陸容器,查看時間,發(fā)現(xiàn)已經(jīng)跟宿主機時間同步了 [root@slave-1 ~]# docker exec -ti 87986863838b /bin/bash root@87986863838b:/# date Fri May 12 11:26:19 CST 2017

3)創(chuàng)建dockerfile文件的時候,自定義該鏡像的時間格式及時區(qū)。在dockerfile文件里添加下面內(nèi)容:

...... FROM tomcat ENV CATALINA_HOME /usr/local/tomcat ....... #設(shè)置時區(qū) RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone ......

保存后,利用docker build命令生成鏡像使用即可,使用dockerfile創(chuàng)建的鏡像的容器改變了容器的時區(qū),
這樣不僅保證了容器時間與宿主機時間一致(假如宿主機也是CST),并且像上面使用tomcat作為父鏡像的話,JVM的時區(qū)也是CST,
這樣tomcat的日志信息的時間也是和宿主機一致的,像上面那兩種方式只是保證了宿主機時間與容器時間一致,JVM的時區(qū)并沒有改變,tomcat日志的打印時間依舊是UTC。

參考鏈接:https://www.cnblogs.com/kevingrace/p/5570597.html

總結(jié)

以上是生活随笔為你收集整理的【Docker】容器与系统时间同步的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。