docker compose日志时区

请问docker compose logs 日志显示的时区如何修改?

img

compose中所有容器内和宿主机都已经为东八区上海时间, 但是使用docker compose logs -t 输出所有容器日志时, 时间依然为utc 0时间
请问如何设置?

博主可以参考一下另外的思路,其中部分来自ChatGPT,部分来源网友出谋划策

目前Docker Compose不支持直接修改日志输出的时区,但是可以通过修改宿主机的时区来达到设置日志输出时区的目的。可以使用以下命令查看宿主机的时区:

date +%Z

如果需要修改时区,可以使用以下命令:

sudo timedatectl set-timezone <YourTimeZone>

比如,要将宿主机的时区改为上海,可以执行:

sudo timedatectl set-timezone Asia/Shanghai

该回答内容部分引用GPT,GPT_Pro更好的解决问题
要想让docker-compose的log内容显示的时间是东八区上海时间,可以在docker-compose.yml文件中增加一条环境变量 TZ,把它的值设置成Asia/Shanghai。具体代码如下:

version: "3"
services:
  service_name:
    image: image_name
    environment:
      TZ: Asia/Shanghai

添加好TZ环境变量之后,只需要重启docker-compose服务即可,执行命令:docker-compose down && docker-compose up -d (down表示关闭服务,up -d表示启动服务)。然后再执行docker-compose logs -t 就可以看到log显示的都是东八区上海时间了。
如果回答有帮助,望采纳。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^