zoukankan      html  css  js  c++  java
  • docker 搭建ntp服务器

    背景

    在搭建etcd集群时,如果主机时间相差太多会出现同步错误,如果外部网络不可用时,需要使用内部的ntp服务器同步时间。

    构建ntp镜像

    创建Dockerfile

    # usage:
    #        docker build -t ntp .
    #        docker run docker run -d --name ntp-server -p 123:123 -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro ntp
    
    from nginx
    
    RUN sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list 
        && sed -i s/security.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list 
        && apt-get update
    RUN apt-get install ntp -y
    ADD ./entrypoint.sh /bin/entrypoint.sh
    ADD ./ntp.conf /etc/ntp.conf
    # ENTRYPOINT ["/etc/init.d/ntp", "start"]
    CMD ["sh", "/bin/entrypoint.sh"]

    创建entrypoint.sh文件

    /etc/init.d/ntp start
    nginx -g 'daemon off;'

    创建npt.conf

    restrict default nomodify notrap noquery
    restrict 127.0.0.1
    restrict 192.168.0.0 mask 255.255.255.0 nomodify
    restrict 10.10.10.0 mask 255.255.255.0 nomodify
    #server 0.pool.ntp.org
    #server 1.pool.ntp.org
    #server 2.pool.ntp.org
    server 127.127.1.0    # local clock
    fudge  127.127.1.0 stratum 10
    driftfile /var/lib/ntp/drift
    broadcastdelay 0.008

    构建镜像

    docker build -t ntp .

    启动ntp服务器

    docker run -d --name ntp-server -p 123:123 -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro ntp

    查看服务状态

    docker exec -it ntp-server service ntp status

    客户端配置

    当前运行容器不需要配置客户端

    客户端与服务端不能在同一台机器上运行

    目前的服务器是用主机的时间作为标准时间的

    安装ntpdate

    sudo apt-get install ntpdate

    同步主机时间

    sudo ntpdate 192.168.0.20

    这里的ip是ntp容器运行的主机

    配置定时任务更新时间

    通过如下命令,就可以开启本用户的定时文件,文件存放在 /var/spool/cron/crontabs 文件夹下,并且以用的的名字命名的文件

    可以通过以下命令列出某个用户cron服务的详细内容

    crontab -l

    通过以下命令编辑定时任务

    crontab -e

    在文件末尾增加

    * * * * * ntpdate 192.168.0.20

    一些常用周期

    每五分钟执行  */5 * * * *
    每小时执行     0 * * * *
    每天执行        0 0 * * *
    每周执行       0 0 * * 0
    每月执行        0 0 1 * *
    每年执行       0 0 1 1 *

    重启定时任务服务

    sudo service cron restart 

    查看日志

    journalctl -n 10 -f -u cron
  • 相关阅读:
    EnjoyCSS – 在线的,先进的 CSS3 代码生成器
    使用 Google Analytics 跟踪 JavaScript 错误
    免费 PSD 素材:25个全新的界面设计资源
    Framework7 – 赞!功能齐全的 iOS7 App 前端框架
    CutJS – 用于 HTML5 游戏开发的 2D 渲染引擎
    【干货分享】Node.js 中文资料导航
    酷站设计:2014年3月份获奖网站作品欣赏
    Magic CSS3 – 创建各种神奇的交互动画效果
    优秀示例:一组创意的手机注册和登录界面设计
    酷站设计!15个扁平风格网站作品欣赏
  • 原文地址:https://www.cnblogs.com/liubin0509/p/6282858.html
Copyright © 2011-2022 走看看