一、chrony介紹
chrony是網絡時間協議 (NTP) 的通用實現。它可以將系統時鐘與 NTP 服務器、參考時鐘(例如 GPS 接收器)以及使用手表和鍵盤的手動輸入同步。
二、容器鏡像介紹
默認情況下,此容器使用 CloudFlare 的時間服務器 (time.cloudflare.com)。如果您想使用一個或多個不同的 NTP 服務器,您可以向該容器傳遞一個NTP_SERVERS 環境變量。
env=NTP_SERVERS=""
三、檢查本地docker狀態
[root@jeven docs]# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2022-12-02 0405 CST; 12h ago Docs: https://docs.docker.com Main PID: 10004 (dockerd) Tasks: 77 Memory: 2.0G CGroup: /system.slice/docker.service ├─10004 /usr/bin/dockerd -H fd:// --cnotallow=/run/containerd/containerd.sock ├─12091 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8190 -container-ip 172.17.0.2 -container-port 8090 ├─12097 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8190 -container-ip 172.17.0.2 -container-port 8090 ├─12109 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8016 -container-ip 172.31.0.2 -container-port 80 ├─12115 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8016 -container-ip 172.31.0.2 -container-port 80 ├─12127 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 453 -container-ip 172.31.0.2 -container-port 443 ├─12133 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 453 -container-ip 172.31.0.2 -container-port 443 ├─14964 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 3300 -container-ip 192.168.64.2 -container-port 3300 ├─14970 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 3300 -container-ip 192.168.64.2 -container-port 3300 ├─43254 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 7890 -container-ip 172.17.0.3 -container-port 8000 └─43261 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 7890 -container-ip 172.17.0.3 -container-port 8000 Dec 02 15:45:55 jeven dockerd[10004]: time="2022-12-02T1555.364855562+08:00" level=info msg="ignoring event" cnotallow=59ece461228f7c0...skDelete" Dec 02 1556 jeven dockerd[10004]: time="2022-12-02T15:45:56.582197016+08:00" level=info msg="ignoring event" cnotallow=59ece461228f7c0...skDelete" Dec 02 15:45:58 jeven dockerd[10004]: time="2022-12-02T1558.010358602+08:00" level=info msg="ignoring event" cnotallow=59ece461228f7c0...skDelete" Dec 02 1559 jeven dockerd[10004]: time="2022-12-02T15:45:59.822979906+08:00" level=info msg="ignoring event" cnotallow=59ece461228f7c0...skDelete" Dec 02 15:46:02 jeven dockerd[10004]: time="2022-12-02T1502.451854240+08:00" level=info msg="ignoring event" cnotallow=59ece461228f7c0...skDelete" Dec 02 1506 jeven dockerd[10004]: time="2022-12-02T15:46:06.662259690+08:00" level=info msg="ignoring event" cnotallow=59ece461228f7c0...skDelete" Dec 02 15:46:14 jeven dockerd[10004]: time="2022-12-02T1514.083579709+08:00" level=info msg="ignoring event" cnotallow=59ece461228f7c0...skDelete" Dec 02 1528 jeven dockerd[10004]: time="2022-12-02T15:46:28.185437247+08:00" level=info msg="ignoring event" cnotallow=59ece461228f7c0...skDelete" Dec 02 15:46:55 jeven dockerd[10004]: time="2022-12-02T1555.193222004+08:00" level=info msg="ignoring event" cnotallow=59ece461228f7c0...skDelete" Dec 02 1550 jeven dockerd[10004]: time="2022-12-02T15:47:50.424840407+08:00" level=info msg="ignoring event" cnotallow=c16d42dd96e202a...skDelete" Hint: Some lines were ellipsized, use -l to show in full.
四、下載ntp鏡像
1.創建ntp容器
[root@jeven ~]# docker pull cturra/ntp Using default tag: latest latest: Pulling from cturra/ntp 59bf1c3509f3: Already exists 45b0d9aa13f5: Pull complete 7b02bd2e0aba: Pull complete Digest: sha256:b4cf0bb0aba53b4438605ef30913f1fbf69d0f5ad5d3781ead43353cd64d5b92 Status: Downloaded newer image for cturra/ntp:latest docker.io/cturra/ntp:latest
2.查看ntp容器狀態
[root@jeven ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 58091922ab8d cturra/ntp "/bin/sh /opt/startu…" 20 seconds ago Up 20 seconds (health: starting) 0.0.0.0:123->123/udp, :::123->123/udp ntp
六、檢查ntp服務器的時間源
檢測為阿里的時間源,ntp服務器配置正確
[root@jeven ~]# docker exec ntp chronyc sources MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* 203.107.6.88 2 6 377 13 +532us[+1324us] +/- 21ms
七、客戶端測試
客戶端查看chronyd服務狀態
[root@server001 ~]# systemctl status chronyd ● chronyd.service - NTP client/server Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-12-02 0411 EST; 3min 27s ago Docs: man:chronyd(8) man:chrony.conf(5) Process: 4479 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS) Process: 4476 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS) Main PID: 4478 (chronyd) Tasks: 1 Memory: 304.0K CGroup: /system.slice/chronyd.service └─4478 /usr/sbin/chronyd Dec 02 04:22:11 server001 systemd[1]: Starting NTP client/server... Dec 02 04:22:11 server001 chronyd[4478]: chronyd version 3.2 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SECHASH +SIGND +ASY... +DEBUG) Dec 02 04:22:11 server001 chronyd[4478]: Frequency -12.895 +/- 0.065 ppm read from /var/lib/chrony/drift Dec 02 04:22:11 server001 systemd[1]: Started NTP client/server. Dec 02 04:22:15 server001 chronyd[4478]: Selected source 192.168.3.166 Hint: Some lines were ellipsized, use -l to show in full.
2.修改配置文件
[root@server001 ~]# grep iburst /etc/chrony.conf server 192.168.3.166 iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst
3.查看時間同步狀態
[root@server001 ~]# chronyc sources 210 Number of sources = 1 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* 192.168.3.166 3 6 377 19 -233us[-1027us] +/- 26ms
審核編輯:湯梓紅
-
接收器
+關注
關注
15文章
2568瀏覽量
73750 -
服務器
+關注
關注
13文章
9768瀏覽量
87732 -
NTP
+關注
關注
1文章
222瀏覽量
14449 -
Docker
+關注
關注
0文章
515瀏覽量
12895
原文標題:docker部署NTP時間服務器 chrony
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論