前言

最近项目基本上是用 docker 了,因为 docker 实在是方便快捷。因时区设置问题,log之类的时间和国内的会差8小时。基础镜像包含alpine、centos、ubuntu三种,这里整理一下不同系统的修改方法。同时也提供非 Docker 中 centos、ubuntu 、debian修改时区的修改方法。

Docker中 centos、ubuntu 、debian修改时区

Alpine

RUN apk --no-cache add tzdata  && \
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

CentOS

RUN echo "Asia/shanghai" > /etc/timezone;

Ubuntu

RUN echo "Asia/Shanghai" > /etc/timezone && \
    dpkg-reconfigure -f noninteractive tzdata

前些天看到一种不要修改系统环境的方法

# 这种方法是直接放在log之类的文件中的。
date -d @$((`date +%s`+3600*8)) '+%Y-%m-%d %H:%M:%S'

Docker 中 centos、ubuntu 、debian修改时区

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

使用下面命令重启后可以更改为24小时制

localectl set-locale LC_TIME=en_GB.UTF-8