Docker容器时间与宿主不一致

Docker容器时间与宿主不一致

左岸 342 2021-09-09

缘起

最近整理服务器,使用docker搭建nginx等项目,发现日志打印时间不对,和服务器时间不一致,这里记录下解决过程

说明

正常如果是我们自制镜像,我们其实可以在Dockerfile 里面直接指定时区,一般不会有这种问题,今天我们介绍的方法是docker容器已经启动后怎么容器内时间和宿主机不一致问题

开始

  1. 检查宿主机时间
date

Thu Sep 9 09:57:34 CST 2021

  1. 检查容器时间
  • 进入容器
docker exec -it yc_nginx /bin/bash

yc_nginx 是你的容器名

  • 输入命令
date
  • 退出容器
exit

如果发现确实是因为宿主机与容器时间不一致的 在开始第三步

  1. 复制宿主机时间文件到容器
docker cp /usr/share/zoneinfo/Asia/Shanghai \ 
yc_nginx:/usr/share/zoneinfo/Asia/
  1. 进入容器修改时间
  • 进入容器

进入容器方法和第二步一样

docker exec -it yc_nginx /bin/bash
  • 删除 localtime
rm -rf /etc/localtime
  • cp 复制
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  • date 检查
date