Docker 容器时区
直接设置容器时区
# 查看容器 ID docker ps -a # 进入容器,Ctrl+P+Q 退出容器 docker exec -it 容器ID /bin/bash
EDT(Eastern Daylight Time - 美国东部夏令时)
CST(Central Standard Time - 中央标准时间)
# 查看 date -R timedatectl # 设置 tzselect timedatectl set-timezone 'Asia/Shanghai' cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime rm /etc/localtime echo "Asia/Shanghai" > /etc/timezone
容器时间和宿主机同步
# 在 run 时挂载宿主时间配置 -v /etc/localtime:/etc/localtime # 复制宿主机 localtime 配置 docker cp /etc/localtime 容器ID:/etc/localtime docker cp /usr/share/zoneinfo/Asia/Shanghai 容器ID:/etc/localtime
其它
# Java 应用,在启动 jar 包时添加环境变量 -Duser.timezone=GMT+08 # MySQL 容器时区,run 时添加参数 -e TZ="Asia/Shanghai"
Jinkins 构建时间显示错误:系统管理 -> 脚本命令执行(https://github.com/jenkinsci/docker/issues/45)
System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')