最近在公司后台Task平台上查看日志时发现,容器内打印出的日志,和宿主主机的时间并不一致。
登陆到宿主主机上,执行 date 查看时间:
可见时区是PST。
然后登陆容器内部,执行 date 查看时间:
可见时区是UTC。
为了让两者同步,有两种思路:
在容器启动同步。具体操作为,启动容器时,将宿主主机的
/etc/localtime文件挂载到容器中对应位置。示例如下:sudo docker run -it -v /etc/localtime:/etc/localtime:ro docker.neg/po/transfer_iro_config_from_data_mining:1.0.7 /bin/bash
这适用于提前并不能确定宿主主机时区的情况,可让容器总是与宿主主机时间一直。
在创建镜像时就指定容器时区。比如,在dockerfile中加入如下命令:
RUN echo "Asia/shanghai" > /etc/timezone;
