將業務應用製作成鏡像,以容器的方式運行之後,發現在容器中獲取的日期不是國內使用的東八區時間,這肯定不行的,應用與時間緊密相關,所以要解決這個問題。
由於我們的應用是基於Springboot的,所以通過Dockerfile的形式製作爲鏡像。解決方法是在Dockerfile中加入List-1的內容,如List-2所示。我們可以用docker exec命令進入容器,查看系統日期。
List-1
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
List-2
...
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
...
# 配置容器啓動後執行的命令
ENTRYPOINT ....