Docker時間與時區設置總結
最近在使用Docker容器時,部署java程序發現時間輸出不對,在修改問題時總結如下。
#date [-R] #查看主機時間
#timedatectl #查看主機時區
#tzselect #選擇時區
Docker時間和宿主同步方法
1.在run容器時添加參數掛載宿主時間配置: -v /etc/localtime:/etc/localtime
2.復制宿主localtime時間配置覆蓋: docker cp /etc/localtime container_id:/etc/localtime
3.在啟動jar包添加時區參數: -Duser.timezone=GMT+08
Docker容器設置時區
#docker exec -it container_id /bin/bash #進入容器命令
#修改時區,設置為上海時區
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
或者
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Docker設置build參數
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
構建dockerfile鏡像.
備註:
作者:Shengming Zeng
博客:http://www.cnblogs.com/zengming/
嚴正聲明:
1.由於本博客部分資源來自互聯網,版權均歸原作者所有。轉載的目的是用於學術交流與討論學習,將不對任何資源負法律責任。
2.若無意中侵犯到您的版權利益,請來信聯系我,我會在收到信息後會盡快給予處理!
3.所有資源內容僅供學習交流之用,請勿用作商業用途,謝謝。
4.如有轉發請註明出處,來源於http://www.cnblogs.com/zengming/ ,謝謝合作。
Docker時間與時區設置總結