群晖Docker 容器时间 时区不对解决方法

在Docker作为生产环境下,很多时候对系统时间有所要求,而因为容器的建立不严谨或者差异化。导致容器时间不对或者相差8小时(即系统为CST时间 容器为UTC时间)
WX20190519-004353@2x.png
WX20190519-004313@2x.png

爬了很多帖子,楼 聊聊无几,还有一个某help论坛要注册才能看,注册过程满套路 且最后居然要邀请码才能注册!放弃了!

案例

1.环境变量

部分网友使用 环境变量 TZ=Asia/shanghai 这个并不是适用所有容器
TIM图片20181025175818-1024x806.png

2.cp主机时区配置文件

docker run --name <name> -v /etc/localtime:/etc/localtime:ro ....

或者

docker cp /etc/localtime:【容器ID或者NAME】/etc/localtime

再或者

FROM redis
FROM tomcat
ENV CATALINA_HOME /usr/local/tomcat

以上方法感谢lqh的分享,解决方法基于该方法

说明:群晖在Doker管理器上没有root权限 所以 /usr /etc 这些目录 无法直接通过docker管理面板去访问

若感兴趣可尝试。本站尝试 并未生效

一下来说一个本站提供的解决方法:

1.查看容器时间

开启容器 并点击详情-终端机-新增
WX20190519-004138@2x.png

通过命令启动,并输入命令 /bin/sh 以进入终端
WX20190519-004228@2x.png

点击新建立的终端 sh
WX20190519-004313@2x.png

进入终端 输入命令 date 查看容器时间
WX20190519-004313@2x.png

对比系统时间 相差8小时 且一个为UTC时间 而系统时间是CST时间
WX20190519-004353@2x.png

2.开启DSM ssh 并获取root权限

获取root权限参照

3.root登陆 ssh终端

输入命令 docker ps 获取时间不对容器的id
WX20190519-011208@2x.png

4.执行命令

docker cp /etc/localtime 040a7616f83d:/etc/localtime

命令中 040a7616f83d 为 时间不对容器的id

执行命令后 返回第一步 查看容器时间是否变化
WX20190519-011517@2x.png

已经解决,该容器关闭等操作 均不会受影响。如果删除了 重新建立 则需要重复该方法



本站应网安备相关要求规定全站关闭留言板,如您需要留言欢迎到本站镜像站进行留言
点击前往vas.ink



Last modification:May 20th, 2019 at 11:45 am
If you think my article is useful to you, please feel free to appreciate

Comment here is closed