• docker容器与系统时间同步最佳方法


    前言:在Docker容器创建好之后,可能会发现容器时间跟宿主机时间不一致,此时需要同步它们的时间,让容器时间跟宿主机时间保持一致。

    一、分析时间不一致的原因

     宿主机采用了CST时区,CST应该是指(China Shanghai Time,东八区时间)

    容器采用了UTC时区,UTC应该是指(Coordinated Universal Time,标准时间)

    此时,容器与宿主机之间采用的时区不一致,两个时区之间相隔8小时。

    二、同步时间的方法

    方案1:共享主机localtime

    在创建容器的时候指定启动参数,挂载宿主机的localtime文件到容器内,以此来保证宿主机和容器的时区一致。

    docker run --privileged --name=qinjiaxi --net=host -it -v ~:/share /etc/localtime:/etc/localtime:ro docker.xxx.xxx.com.cn/robotframework:2.7.14 bash

    方案2:复制宿主机localtime到容器中

    docker cp /etc/localtime <container_id>:/etc/

    方案3:在创建dockerfile时自定义镜像的时间格式与时区

    在dockerfile创建初期增加一行内容,内容规定了该镜像的时间格式以及时区。

    #设置时区
    RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

    总结:通过以上三种方案均可实现docker容器的时间与宿主机时间同步,具体选择哪个方案根据实际情况而定。

     

  • 相关阅读:
    mysql 函数在源码中的定义
    mydumper工作原理 :myownstars专家
    drop table big_table 调试
    debugfs恢复文件
    Linux内核里的DebugFS
    在Linux环境中使用Ext3文件系统
    strace
    通过blktrace, debugfs分析磁盘IO
    block_dump观察Linux IO写入的具体文件(mysqld)
    Centos下的IO监控与分析
  • 原文地址:https://www.cnblogs.com/qinlangsky/p/11698978.html
Copyright © 2020-2023  润新知