萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Docker容器和宿主機時間不同步的解決辦法

Docker容器和宿主機時間不同步的解決辦法

  很多用戶在使用了Docker以後都反映遇到Docker容器的時間和宿主機時間不同步的問題。其實這主要是因為宿主機設置了時區,但是Docker容器並沒有設置,這才導致它們時間不同步。下面小編就給大家分享下Docker容器和宿主機時間不同步的解決辦法。

Docker容器和宿主機時間不同步的解決辦法

  接下來,我們通過在在宿主機和容器裡分別執行date命令來看下實際的情況。

  在宿主機執行date命令的結果:

Docker容器和宿主機時間不同步的解決辦法

  進入到容器裡,再執行date命令的結果:

  docker exec -it 《containerid》 /bin/sh

  date

  執行後的結果為:

Docker容器和宿主機時間不同步的解決辦法

  從截圖來看,我們發現相差了8個小時。那麼如何解決這個問題呢?目前有兩種思路供參考。

  創建容器的時候指定啟動參數,自動掛載localtime文件到容器內

  docker run --name 《name》 -v /etc/localtime:/etc/localtime:ro ...

  把時區設置加入到Dockerfile中

  # Ubuntu

  RUN echo “Asia/shanghai” 》 /etc/timezone;

  # CentOS

  RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

  以上就是Docker容器和宿主機時間不同步的解決辦法,這個問題主要是由於Docker容器沒有設置時間導致的,因此用戶只需根據上面的介紹的方法進行設置即可。

copyright © 萬盛學電腦網 all rights reserved