为什么要NTP服务
在搭建某些后台计算程序的时候,需要服务器的时间参与计算,这时候需要用到时间的统一
为什么要用docker搭建NTP服务器
如果服务器没有NTP server服务的情况下,编译安装NTP服务会比较麻烦,有时候会缺少各种类库,会比较头痛,使用docker部署,很轻松
可以使用docker-compose【docker-compose安装】运行ntp
sudo curl -L "https://github.com/docker/compose/releases/download/V2.3.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
参考docker-compose.yml配置文件
version: '3.4'
services:
ntp:
build: .
image: cturra/ntp:latest
container_name: ntp
restart: always
ports:
- 123:123/udp
read_only: true
tmpfs:
- /etc/chrony:rw,mode=1750
- /run/chrony:rw,mode=1750
- /var/lib/chrony:rw,mode=1750
environment:
- NTP_SERVERS=ntp1.aliyun.com
- NTP_SERVERS=ntp2.aliyun.com
- NTP_SERVERS=ntp3.aliyun.com
- NTP_SERVERS=ntp4.aliyun.com
- LOG_LEVEL=0
# pull from docker hub
$> docker pull cturra/ntp
# build ntp
$> docker-compose build ntp
# run ntp
$> docker-compose up -d ntp
# (optional) check the ntp logs
$> docker-compose logs ntp
验证:
测试您的NTP容器
您可以从任何具有ntpdate
机器上使用以下命令查询新的NTP容器:
ntpdate -q 192.168.205.60
要查看容器ntp状态的详细信息,您可以在docker主机上使用以下命令进行检查:
docker exec ntp chronyc tracking