docker时间错误

一、docker 时间错误

容器时间与主机差 8 个小时,因为 docker 默认时区和系统时区默认不同

二、修改 docker 容器修改时区(二选一)

1. 修改环境变量

1
2
3
4
5
6
7
version: '3.7'

services:
node-api:
image: node:10.19.0-alpine
environment:
TZ: Asia/Shanghai

2. copy 系统时区文件到容器

1
2
docker cp /etc/localtime 【容器ID】:/etc/localtime
docker restart 【容器ID】

三、Alpine docker 容器修改时区(上述方法 Alpine 不生效)

1. 修改已经运行容器

1
2
3
4
5
6
7
8
# 进入容器
docker exec -it 【容器ID】sh
# 安装timezone 数据包
apk add -U tzdata
# copy时区文件
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 测试是否成功
date

2. 修改 yml 配置文件

1
2
3
4
5
6
version: '3.7'

services:
node-api:
image: node:10.19.0-alpine
command: bash -c "apk add -U tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime"