K8S里的docker时区设置
程序员文章站
2024-03-12 09:29:44
...
最近发现有些镜像里,时区设置的是标准时区UTC,不是CST,需要修改docker的时区,设置成东八区。
修改docker的时区,有几个方法,如修改镜像、docker启动修改参数、docker上配置时区目录文件、docker直接修改时区等。
下面分别说明:
1.修改Dockerfile
RUN rm -f /etc/localtime \
&& ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone
2.docker启动时加参数
# 挂载本地 /etc/localtime 到容器内覆盖配置
$ docker run -it -v /etc/localtime:/etc/localtime centos /bin/sh
3.docker内容修改时区
# 进入到容器内部配置
$ docker run -it centos /bin/sh
# 容器内执行下面的软连接
sh-4.2# rm -f /etc/localtime && ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
4.k8s设置docker挂载时区路径
spec:
affinity: {}
containers:
image: 'XXX:11001/test/logstash:7.3.0'
name: logstash
resources:
limits:
cpu: '2'
memory: 4G
requests:
cpu: 200m
memory: 2G
volumeMounts:
- mountPath: /etc/localtime
name: time_name
volumes:
- hostPath:
path: /usr/share/zoneinfo/Asia/Shanghai
type: ''
name: time_name
最后采用的是在K8S上配置了主机挂载路径的方式,原因大家都明白啊,方便实用。