Docker ntpdate Permition error

        After building a Dockerfile, I run it. I figure out that there is something wrong with local time.

So I start to install ntpdate but it doesn't work at all. The clock of docker must be asyncronized with

host clock, it can not be changed by itself. The file /etc/localtime is used for setting the system clock

and once it is changed, the time in system will be changed immediately.

      Actually, /etc/localtime is a symlink to /usr/share/zoneinfo/localtime in some Linux/Unix systems.

We can can change /etc/lcoaltime into any one of these timezones as following:

1
2
3
4
5
6
7
8
9
root@ubuntu:/usr/share/zoneinfo# ls
Africa      Canada   EST      GMT0       Iran         MET      Poland      ROK        WET
America     CET      EST5EDT  GMT-0      iso3166.tab  Mexico   Portugal    Singapore  W-SU
Antarctica  Chile    Etc      GMT+0      Israel       MST      posix       SystemV    zone.tab
Arctic      CST6CDT  Europe   Greenwich  Jamaica      MST7MDT  posixrules  Turkey     Zulu
Asia        Cuba     Factory  Hongkong   Japan        Navajo   PRC         UCT
Atlantic    EET      GB       HST        Kwajalein    NZ       PST8PDT     Universal
Australia   Egypt    GB-Eire  Iceland    Libya        NZ-CHAT  right       US
Brazil      Eire     GMT      Indian     localtime    Pacific  ROC         UTC

Solution:

1
2
3
4
5
root@6fc515dfb754:~# ntpdate us.pool.ntp.org
3 Nov 09:30:06 ntpdate[966]: Can't adjust the time of day: Operation not permitted
 
  
cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
02-14 02:51