最近在公司后台Task平台上查看日志时发现,容器内打印出的日志,和宿主主机的时间并不一致。
    登陆到宿主主机上,执行 date 查看时间:
    image.png
    可见时区是PST。
    然后登陆容器内部,执行 date 查看时间:
    image.png
    可见时区是UTC。
    为了让两者同步,有两种思路:

    1. 在容器启动同步。具体操作为,启动容器时,将宿主主机的 /etc/localtime 文件挂载到容器中对应位置。示例如下:

      1. sudo docker run -it -v /etc/localtime:/etc/localtime:ro docker.neg/po/transfer_iro_config_from_data_mining:1.0.7 /bin/bash

      这适用于提前并不能确定宿主主机时区的情况,可让容器总是与宿主主机时间一直。

    2. 在创建镜像时就指定容器时区。比如,在dockerfile中加入如下命令:

      RUN echo "Asia/shanghai" > /etc/timezone;