欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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上配置了主机挂载路径的方式,原因大家都明白啊,方便实用。