查看linux系統時區和docker容器時區
date -R //查看linux主機時間和時區 date exec [container] date -R // 查看容器時間和時區

2者的時間差了8個小時
解決方案
1、利用Dockerfile創建鏡像時。在Dockerfile中加入
ENV TIME_ZONE=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone
2、容器創建時。加入時區掛載選項:-v /etc/localtime:/etc/localtime。實例:
docker run -d -p 6379:6379 -v /etc/localtime:/etc/localtime --name test-redis redis

3、容器已啟動時。
docker exec -it container /bin/bash // 進入交互模式,container為容器ID或名稱,下同
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
docker restart container // 重啟容器
docker exec container date -R // 查看時區

以上均親測試,良心保證,另外網上有搜到docker cp /etc/localtime [container]:/etc/localtime方法,但實際驗證沒成功,不知為何。
