Docker 容器时间跟宿主机时间同步
Docker默认没有将容器和宿主机进行时间同步。
1.查看当前宿主机的时间和容器时间是否一致
#查看当前宿主机的时间
#date
#查看容器时间
#docker exec -it 06dd24f16a12 bash -c "date"
对比宿主机时间和容器时间,看是否一致,若不一致需要手动设置二者的时间同步。
2.针对以下三种情况进行手动同步处理
1) 对于已经运行中的容器的处理方式:
#将宿主机的 /etc/localtime 文件复制给容器
#docker exec -it 06dd24f16a12 bash -c "ls -l /usr/share/zoneinfo/Asia/Shanghai"
#查看当前宿主机的时间
#date
#查看容器时间
#docker exec -it 06dd24f16a12 bash -c "date"
2) 如果是自定义的镜像,建议在 dockerfile 中就提前处理好。
#以 CentOS 为例,添加如下配置
#RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
3) 如果是使用第三方的镜像创建容器,建议创建容器时使用 -v 参数让容器使用宿主机的 /etc/localtime 文件,示例命令如下:
#docker run --name 容器名称 -v /etc/localtime:/etc/localtime
不足之处望指正