解决Docker
中容器时间不准确
dockers环境: 19.03.6
宿主机环境: Centos7
先在容器中,执行一下查看时间的命令
date
这里,处理时间问题,可以分为两种
- 容器内热修改
- 容器外冷修改
命令行输出的时间与宿主机的时间不同,一般相差8小时(1时区)。
这个时候,处理这个时间问题,可以用好几种方式。热修改是需要进入容器进行修改的,冷修改是在制作容器初,就在dockerfile
文件中进行同步。
热修改方式,如下:
timedatectl set-timezone Asia/Shanghai
clock -w
echo "Asia/Shanghai" > /etc/timezone
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
apt-get update
apt-get install -y tzdata
echo "Asia/Shanghai" > /etc/timezone
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
冷修改方式,如下:
不过在博主这推荐使用dockerfile
文件中添加指令,将外部文件拷贝到内部,或者进行修改。
Ubuntu
容器
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Centos
容器
RUN echo "Asia/shanghai" > /etc/timezone