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上配置了主機掛載路徑的方式,原因大家都明白啊,方便實用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章