由于 Docker 容器默认使用 UTC 时间,所以在容器内查看时间会发现和宿主机的时间不一致,这时候就需要修改容器的时区。

一、查看时区

date

一、在启动容器时修改时区

docker run -d -p 8080:8080 -e TZ=Asia/Shanghai --name mytomcat tomcat

二、在容器内修改时区

docker exec -it -u root 容器名或id /bin/sh
mkdir -p /usr/share/zoneinfo/Asia
exit
docker cp /usr/share/zoneinfo/Asia/Shanghai 容器ID或容器名:/usr/share/zoneinfo/Asia
docker exec -it -u root 容器名或id /bin/sh
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime