Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
docker_notes:ntp [2025-11-09 Sun wk45 19:50] – [ntp servers] baumkpdocker_notes:ntp [2025-11-14 Fri wk46 22:12] (current) – [chronyc] baumkp
Line 36: Line 36:
 Based upon the duplication of ip address for different domain names and changing ip addresses on same domain names it looks like the ip address are rolled to different servers to balance load.  Based upon the duplication of ip address for different domain names and changing ip addresses on same domain names it looks like the ip address are rolled to different servers to balance load. 
 ++++ ++++
 +
 +=====chronyc=====
 +chronyc can be used to query chronyd.  The following are some key queries.  Note chrony help will provide a list of available commands.
 +  *''sources -v'' will list information about the current sources
 +  *''tracking'' Display system time information
 +  *''nptdata'' display information about last valid measurement
 +  *''activity'' check how many NTP sources are online/offline
 +  *''serverstats'' Display statistics of the server
 +  *''authdata -v'' Display information about authentication
 +
 +++++/etc/chrony/chrony.conf|
 +<code># default config
 +
 +=====docker chrony=====
 +++++Dockerfile|
 +<code>FROM alpine:latest
 +
 +RUN apk update && \
 +apk --no-cache add \
 +chrony
 +
 +EXPOSE 123/udp
 +
 +
 +#ENTRYPOINT [ "/bin/sh" ]
 +ENTRYPOINT [ "/usr/sbin/chronyd", "-d" ]
 +#ENTRYPOINT [ "/usr/sbin/chronyd", "-d", "-s" ]
 +</code>
 +++++
 +
 +++++docker-compose.yml|
 +<code>---
 +services:
 +  chrony:
 +    build: ./
 +    image: chrony:latest
 +    tty: true
 +    stdin_open: true
 +    container_name: chrony
 +    restart: 'always' # always | unless-stopped | no | on-failure [:max-retries]
 +
 +#    volumes:
 +#      - '/mnt/docker_store/kea/.config:/app/'
 +#      - '/mnt/docker_store/kea/.config/log:/var/log/kea'
 +#    network_mode: host
 +
 +    cap_add:
 +      - SYS_TIME
 +
 +#    command: /bin/sh
 +</code>
 +++++
 +
 +  *''docker exec -ti chrony /bin/sh'' to get shell access to container
 +
 +pool pool.ntp.org iburst
 +initstepslew 10 pool.ntp.org
 +driftfile /var/lib/chrony/chrony.drift
 +rtcsync
 +cmdport 0</code>++++
  
 =====Reference===== =====Reference=====
   *[[https://www.bodet-time.com/resources/blog/1882-stratums-in-the-ntp-protocol-understanding-the-hierarchy-of-servers.html|STRATUMS IN THE NTP PROTOCOL: Understanding the hierarchy of servers]]   *[[https://www.bodet-time.com/resources/blog/1882-stratums-in-the-ntp-protocol-understanding-the-hierarchy-of-servers.html|STRATUMS IN THE NTP PROTOCOL: Understanding the hierarchy of servers]]
 +  *[[https://chrony-project.org/|chrony]]
 +  *[[https://github.com/cturra/docker-ntp/tree/main|cturra/ntp]] (crony docker example)
 +  *[[https://www.tecmint.com/install-chrony-in-centos-ubuntu-linux/|How to Install and Use Chrony in Linux]]
 +  *[[https://krython.com/post/configuring-ntp-server|configuring-ntp-server]]
 +  *[[https://wiki.archlinux.org/title/Chrony|Arch chrony]]
 +  *[[https://www.golinuxcloud.com/configure-chrony-ntp-server-client-force-sync/|Steps to configure Chrony as NTP Server & Client (CentOS/RHEL 8)]]
 +  *[[https://documentation.ubuntu.com/server/how-to/networking/serve-ntp-with-chrony/|How to serve the Network Time Protocol with Chrony]]
 +  *[[https://www.howtouselinux.com/post/using-chrony-for-ntp-on-linux|The Essential Guide to Using Chrony for NTP on Linux]]
  
 <- docker_notes:nginx-php-notes|Back ^ docker_notes:index|Start page ^ docker_notes:misc|Next -> <- docker_notes:nginx-php-notes|Back ^ docker_notes:index|Start page ^ docker_notes:misc|Next ->