docker容器與系統時間同步最佳方法


前言:在Docker容器創建好之后,可能會發現容器時間跟宿主機時間不一致,此時需要同步它們的時間,讓容器時間跟宿主機時間保持一致。

一、分析時間不一致的原因

 宿主機采用了CST時區,CST應該是指(China Shanghai Time,東八區時間)

容器采用了UTC時區,UTC應該是指(Coordinated Universal Time,標准時間)

此時,容器與宿主機之間采用的時區不一致,兩個時區之間相隔8小時。

二、同步時間的方法

方案1:共享主機localtime

在創建容器的時候指定啟動參數,掛載宿主機的localtime文件到容器內,以此來保證宿主機和容器的時區一致。

docker run --privileged --name=qinjiaxi --net=host -it -v ~:/share /etc/localtime:/etc/localtime:ro docker.xxx.xxx.com.cn/robotframework:2.7.14 bash

方案2:復制宿主機localtime到容器中

docker cp /etc/localtime <container_id>:/etc/

方案3:在創建dockerfile時自定義鏡像的時間格式與時區

在dockerfile創建初期增加一行內容,內容規定了該鏡像的時間格式以及時區。

#設置時區
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

總結:通過以上三種方案均可實現docker容器的時間與宿主機時間同步,具體選擇哪個方案根據實際情況而定。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM