时区问题 为什么docker查询时间是对的 时区还是UTC

[root@sigaode02 ~]# docker exec -it tdengine date
Thu Nov 20 03:39:23 PM CST 2025
SHOW VARIABLES LIKE ‘timezone’;
4574632F55544320285554432C202B3030303029
为什么docker查询时间是对的 时区还是UTC


Etc/UTC (UTC, +0000)

forceReadConfig 1
monitor 1
monitorFQDN localhost
timezone Asia/Shanghai

说明:容器内 Linux 系统本身的时区已经是 CST(Asia/Shanghai)
但 TDengine 的时区是它自己维护的配置,不会自动跟随容器的系统时区变化。
所以在 taos 里看到还是 UTC,很正常,说明 TDengine 还在用默认/启动时加载的 UTC 配置。
把 TDengine 时区改成 CST
docker run -d \

–name tdengine \

-e TZ=Asia/Shanghai \

-v /path/to/taos.cfg:/etc/taos/taos.cfg \

tdengine/tdengine:latest

[root@sigaode02 ~]# docker stop tdengine
tdengine
[root@sigaode02 ~]# docker rm tdengine
tdengine
[root@sigaode02 ~]# rm -rf /data/taos
[root@sigaode02 ~]# docker run -d
-v ~/data/taos/dnode/data:/var/lib/taos
-v ~/data/taos/dnode/log:/var/log/taos
-e TZ=Asia/Shanghai \
-p 6030:6030 -p 6041:6041 -p 6043:6043 -p 6060:6060
–name tdengine
tdengine/tdengine:latest
docker: invalid reference format

Run ‘docker run --help’ for more information
-bash: -p: command not found
[root@sigaode02 ~]# docker run -d -v ~/data/taos/dnode/data:/var/lib/taos -v ~/data/taos/dnode/log:/var/log/taos -e TZ=Asia/Shanghai -p 6030:6030 -p 6041:6041 -p 6043:6043 -p 6060:6060 --name tdengine tdengine/tdengine:latest
e9151f8c93c105af4c5b4a2de396106396806376d2a2751cfe8e6bda50aa0226


还是utc

SHOW VARIABLES LIKE ‘timezone’; 请把全角引号 改成半角

你用的什么工具?直接使用 taos shell 执行 docker exec -it tdengine taos

taos> SHOW VARIABLES LIKE ‘timezone’; 看一下,记得复制之后改一下引号,这里会自动转全角

语句没有问题 测试环境是对的

测试环境? 也是 docker 部署吗 ?

不是 正式是docker

docker run -d
-v ~/data/taos/dnode/data:/var/lib/taos
-v ~/data/taos/dnode/log:/var/log/taos
-e TZ=Asia/Shanghai
-p 6030:6030 -p 6041:6041 -p 6043:6043 -p 6060:6060
–name tdengine
tdengine/tdengine:latest

monitor 1
monitorFQDN localhost
timezone Asia/Shanghai

SHOW VARIABLES LIKE ‘timezone’;
4574632F55544320285554432C202B3030303029

请参考我们的官方文档:常见问题及反馈 | TDengine 文档 | 涛思数据

把整个挂载目录删掉 就好了 重启 就好了

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。