K8S里的docker时区设置

最近发现有些镜像里,时区设置的是标准时区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上配置了主机挂载路径的方式,原因大家都明白啊,方便实用。

你可能感兴趣的:(docker,Kubernetes,devops,运维,centos,docker)