场景

在docker下使用tzselect 设置时间, 最后提示 

编辑profile 追加  TZ='Asia/Shanghai'; export TZ

vim /etc/profile

source /etc/profile

发现时区正确了,但时间和宿主机相差几分钟....

使用 ntpdate cn.pool.ntp.org 同步时间 提示  ntpdate[534]: step-systime: Operation not permitted

使用 ntpdate ntp.sjtu.edu.cn  提示  ntpdate[500]: step-systime: Operation not permitted

原因

应该是因为容器的内核不能适合宿主机的共享导致

解决方案

  1. 推荐挂载宿主机locatime文件,实现原理:首先宿主机间实现时间同步,然后容器启动时以只读方式挂载宿主机的/etc/localtime文件实现各宿主机上的Docker容器间的时间同步。
  2. 提权(不推荐):在创建一个docker容器是添加--privileged选项

 

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐