This Container image (yobasystems/alpine-ntp) is based on the minimal Alpine Linux with Chrony (NTP) Network Time Protocol.
Alpine Linux is a Linux distribution built around musl libc and BusyBox. The image is only 5 MB in size and has access to a package repository that is much more complete than other BusyBox based images. This makes Alpine Linux a great image base for utilities and even production applications. Read more about Alpine Linux here and you can see how their mantra fits in right at home with Container images.
chrony is a versatile implementation of the Network Time Protocol (NTP). It can synchronise the system clock with NTP servers, reference clocks (e.g. GPS receiver), and manual input using wristwatch and keyboard. It can also operate as an NTPv4 (RFC 5905) server and peer to provide a time service to other computers in the network.
It is designed to perform well in a wide range of conditions, including intermittent network connections, heavily congested networks, changing temperatures (ordinary computer clocks are sensitive to temperature), and systems that do not run continuosly, or run on a virtual machine.
Typical accuracy between two machines synchronised over the Internet is within a few milliseconds; on a LAN, accuracy is typically in tens of microseconds. With hardware timestamping, or a hardware reference clock, sub-microsecond accuracy may be possible.
Two programs are included in chrony, chronyd is a daemon that can be started at boot time and chronyc is a command-line interface program which can be used to monitor chronyd's performance and to change various operating parameters whilst it is running.
- Minimal size only, minimal layers
- Memory usage is minimal on a simple install.
- Network Time Protocol (NTP) server and client
:amd64
,:x86_64
- 64 bit Intel/AMD (x86_64/amd64):arm64v8
,:aarch64
- 64 bit ARM (ARMv8/aarch64):arm32v7
,:armhf
- 32 bit ARM (ARMv7/armhf)
:latest
latest branch based (Automatic Architecture Selection):master
master branch usually inline with latest:amd64
,:x86_64
amd64 based on latest tag but amd64 architecture:aarch64
,:arm64v8
Armv8 based on latest tag but arm64 architecture:armhf
,:arm32v7
Armv7 based on latest tag but arm32 architecture:version
Version tags e.g:4
,4.5
NTP_SERVERS
: time.cloudflare.comNTP_PORT
: 123NTP_MAXSKEW
: 1000.0NTP_MAXDISTANCE
: 8NTP_MAXPOLL
: 10NTP_MINPOLL
: 6NTP_MAXDELAY
: 0.5NTP_MAXJITTER
: 0.1NTP_MAXWANDER
: 0.001NTP_MAXTRACKING
: 0.5NTP_MAXSOURCES
: 3NTP_MAXAGE
: 0.5NTP_MAXCLOCK
: 0.5NTP_MAXDRIFT
: 0.5NTP_MAXSTEER
: 0.5NTP_MAXSYMMETRY
: 0.5NTP_MAXPENDING
: 0.5NTP_MAXHOLDOFF
: 0.5NTP_MAXJITTER
: 0.5
docker run -d --name=ntp --restart=always --publish=123:123/udp yobasystems/alpine-ntp
It will create a new container, and set the time to the default which is time.cloudflare.com.
version: '3.9'
services:
ntp:
build: .
image: yobasystems/alpine-ntp:latest
container_name: ntp
restart: always
ports:
- 123:123/udp
environment:
- NTP_SERVERS=time.cloudflare.com
- LOG_LEVEL=0
PACKAGE NAME | PACKAGE VERSION | VULNERABILITIES |
---|