docker创建启动容器,针对时间错乱的问题及解决办法汇总

本文介绍了解决Docker容器内时间不准确的问题,包括如何调整容器内的时区设置,确保容器内Java应用的日志时间正确,以及在容器创建时一次性修正时间的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、普通容器创建启动后,时间不准确情况解决办法

       有时我们通过docker创建启动容器后, 通过 docker exec -it 容器ID /bin/bash 进入容器后,通过 date命令 查看当前时间出现时区偏差, 这时就需要进行时间修正。

      进入docker已运行容器里中:

     执行命令 :

     ln -sf /usr/share/zoneinfo/Asia/Shanghai    /etc/localtime

 

2、面对tomcat容器,里面运行的java应用输出 new Date() 等时间日志信息,依然显示时间不对, 咋办呢?

     情况描述:

     根据1中方法进行容器时间修正后, 但容器中java应用时间还是相差8个小时

     原因分析: 

     docker中的java应用获取时间是从 timezone中获取,因此进入docker,修改timezone

     解决方法:

     进入容器执行如下命令

     echo "Asia/Shanghai" > /etc/timezone

     cat /etc/timezone

     显示上海时区,发现问题解决,java应用的时间为东八区时间

 

3、最后, 如果容器还没创建,可以在容器创建时一次性修正时间:

     通过挂载方式修正时间,类似命令如下:

     docker run -d --name 此处是容器别名 -v /etc/localtime:/etc/localtime  /etc/timezone:/etc/timezone -p 8080:8080  tomcat(即镜像名称)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值