首頁 >運維 >Docker >docker中容器時間和宿主機時間不同步怎麼辦

docker中容器時間和宿主機時間不同步怎麼辦

WBOY
WBOY原創
2022-03-08 15:57:368856瀏覽

方法:1、利用「docker run -name-v 」指令共享主機的localtime;2、利用「docker cp /etc/localtime:容器ID/etc/localtime」指令複製主機的localtime。

docker中容器時間和宿主機時間不同步怎麼辦

本教學操作環境:linux7.3系統、docker-1.13.1版、Dell G3電腦。

docker中容器時間和宿主機時間不同步怎麼辦

必須統一兩者的時區。

共享主機的localtime  (方法一)

#建立容器的時候指定啟動參數,掛載localtime檔案到容器內  ,確保兩者所採用的時區是一致的。

docker run --name <name> -v /etc/localtime:/etc/localtime:ro ....

複製主機的localtime  (方法二)

docker cp /etc/localtime:【容器ID或者NAME】/etc/localtime

完成後,再透過date指令進行檢視目前時間。

但是,在容器中執行的程式的時間不一定能更新過來,例如在容器中運行的MySQL服務,在更新時間後,透過sql查看MySQL的時間

select now() from dual;

可以發現,時間並沒有改過來。

這時候必須要重新啟動mysql服務或重新啟動Docker容器,mysql才能讀取到更改過後的時間。

建立自訂的dockerfile  (方法三)

#建立dockerfile文件,其實沒有什麼內容,就是自訂了該映像的時間格式及時區。

FROM redis
 
FROM tomcat
 
ENV CATALINA_HOME /usr/local/tomcat
 
#设置时区
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
  && echo &#39;Asia/Shanghai&#39; >/etc/timezone \

儲存後,利用docker build指令產生映像檔使用即可。

推薦學習:《docker影片教學

以上是docker中容器時間和宿主機時間不同步怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn