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
时间: 2024-11-05 03:10:11

docker 搭建ntp服务器的相关文章

CentOS6.5系统搭建NTP服务器

在进入到我们的主题之前首先我们可以简单了解一下这几个名词 Atomic Clock: 现在计算时间最准确的是使用 原子震荡周期 所计算的物理时钟(Atomic Clock),因此也被定义为标准时间(International Atomic Time) UTC(coordinated Universal Time): 协和标准时间 就是利用 Atomic Clock 为基准定义出来的正确时间 (世界统一时间,世界标准时间,国际协调时间) 硬件时钟: 硬件时钟是指嵌在主板上的特殊的电路, 它的存在就

Docker 搭建主从服务器

利用Docker搭建主从服务器 首先拉取docker镜像,我们这里使用5.7版本的mysql: docker pull mysql:5.7 然后使用此镜像启动容器,这里需要分别启动主从两个容器 Master(主): docker run -p 3339:3306 --name mymysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 Slave(从): docker run -p 3340:3306 --name mymysql -e MYSQL_RO

使用Docker搭建svn服务器教程

原文:使用Docker搭建svn服务器教程 svn简介 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Subversion.说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的. svn的docker搭建方法 请提前在服务器安装好docker服务 本篇教程选用的docker镜像为garethflowers/svn-server 安装并启动容器代码 d

CentOS搭建NTP服务器

一.搭建时间同步服务器1.编译安装ntp serverrpm -qa | grep ntp若没有找到,则说明没有安装ntp包,从光盘上找到ntp包,使用rpm -Uvh ntp***.rpm进行安装2.修改ntp.conf配置文件vi /etc/ntp.conf①.第一种配置:允许任何IP的客户机都可以进行时间同步将"restrict default nomodify notrap noquery"这行修改成:restrict default nomodify notrap配置文件示例

搭建NTP服务器(可用)

一.搭建时间同步服务器 1.编译安装ntp server rpm -qa | grep ntp 若没有找到,则说明没有安装ntp包,从光盘上找到ntp包,使用 rpm -Uvh ntp***.rpm 进行安装 2.修改ntp.conf配置文件 vi /etc/ntp.conf ①.第一种配置:允许任何IP的客户机都可以进行时间同步 将"restrict default nomodify notrap noquery"这行修改成: restrict default nomodify no

为嵌入式开发板客户端自己动手在虚拟机上搭建NTP服务器

网络时间协议NTP(Network Time Protocol)是用于互联网中时间同步的标准互联网协议.NTP的用途是把计算机的时间同步到某些时间标准.目前采用的时间标准是世界协调时UTC(Universal Time Coordinated).NTP的主要开发者是美国特拉华大学的David L. Mills教授.NTP对于我们个人来说有什么用呢,简单的讲,当你的计算机时间不准确了,你可以接入到互联网,从网上同步一下时间,看多方便. 对于企业来说,当你有成百上千的计算机,都不能直接连接互联网,时

Linux学习随笔5——搭建ntp服务器

2015.8.30 ntp服务器 NTP服务器(Network Time Protocol),是用来做局域网服务器时间同步的,保证局域网内的服务器与时间服务器的一致,某些应用对实时性要求比较的应用必须统一时间 互联网上也存在很多时间服务器, pool.ntp.org(官方NTP时间服务器) ntp服务器需要开启123端口 (UDP), 查看Linux系统中的被打开的端口 :netstat -an 打开本地防火墙的123端口: vi /etc/sysconfig/iptables中 添加一条规则

vcsa更改时区及搭建ntp服务器

1.更改vcsa时区 (1)运行tzselect命令进行时区的选择->4asia->9china->1beijing->1yes (2)将TZ='Asia/Beijing';export TZ 加入用户目录中的.profile文件 (3)cp/usr/share/zoneinfo/Asia/Beijing /etc/localtime 2.搭建ntpserver (1)将/etc/ntp.conf改为如下内容 tinkerpanic 0server216.229.0.179rest

Centos7使用docker搭建gitlab服务器

了解到docker的优点,搭建快,运行要求资源低,最重要的是实现的功能和效果都能达到预期,于是决定使用docker来搭建gitlab服务器. 效果图如下: 系统环境:CentOS Linux release 7.1.1503 (Core) git版本:/gitlab/gitlab-ce 一.安装和启动docker 安装:yum -y install docker 启动:systemctl start docker 开机启动:systemctl enable docker 二.拉取镜像文件 doc