Docker构建NTP服务器


在实际工作中,我们可能在内网需要一个ntp的时间服务器来同步时间,那么准备一台docker的时间服务器是很有必要的,至于为什么要用docker部署,这里就不多做说明了

I. 快速部署

curl -Lk https://raw.githubusercontent.com/LinuxEA-Mark/docker-ntp/master/create_ntp.sh|bash 

II. Dockerfile

仍然使用centos作为基础镜像,直接yum安装即可,而后下载gitalb上的配置文件和启动脚本

FROM centos
MAINTAINER www.linuxea.com mark
RUN yum install ntp curl -y && rm -rf /etc/ntp.conf\
#&& curl -Lks4 https://raw.githubusercontent.com/LinuxEA-Mark/docker-ntp/master/ntp.conf -o /etc/ntp.conf \
&& curl -Lks4 https://raw.githubusercontent.com/LinuxEA-Mark/docker-ntp/master/start.sh -o /start.sh && mkdir /data \
&& yum clean all && chmod +x /start.sh
ENTRYPOINT ["/start.sh"]

III. 启动脚本:

如果ntp.conf不存在这下载文件并且启动,如果存在则每次启动即可

#!/bin/bash
directory="/data/ntp.conf"
if [ "$(ls $directory)" ]; then
    /usr/sbin/ntpd -c /data/ntp.conf -p /tmp/ntpd.pid -d
else
    curl -Lks4 https://raw.githubusercontent.com/LinuxEA-Mark/docker-ntp/master/ntp.conf -o /data/ntp.conf
    /usr/sbin/ntpd -c /data/ntp.conf -p /tmp/ntpd.pid -d
fi

IV. ntp.conf

在conf文件中我们需要注意restrict 10.10.0.0 mask 255.0.0.0 nomodify notrap这里的ip则是可以允许的ip

restrict default kod nomodify notrap nopeer noquery 
restrict -6 default kod nomodify notrap nopeer noquery 
#restrict default nomodify 
#restrict 210.72.145.44    
#restrict 133.100.11.8
restrict 127.0.0.1 
restrict -6 ::1 
restrict 10.10.0.0 mask 255.0.0.0 nomodify notrap

server 2.cn.pool.ntp.org prefer
server 1.cn.pool.ntp.org 
#driftfile /var/lib/ntp/drift 
keys    /etc/ntp/keys
logfile /data/ntp.log

V. docker-compose

将data目录挂载,其中有日志文件和配置文件,比较省事就路径一致了

version: '2'
services:
  ntp:
    build:
      context: https://raw.githubusercontent.com/LinuxEA-Mark/docker-ntp/master/Dockerfile
    container_name: ntp
    restart: always
    privileged: true
    network_mode: "host"
    volumes: 
        - /data/docker/ntp:/data

日志如下:

2 分享

您可以选择一种方式赞助本站

支付宝扫码赞助

支付宝扫码赞助

日期: 2017-04-18分类: Docker

标签: docker

发表评论