
dockurr/chronyDocker容器化的chrony,一个多功能的网络时间协议(NTP)实现。
yamlservices: ntp: image: dockurr/chrony container_name: ntp environment: NTP_SERVERS: "pool.ntp.org" ports: - 123:123/udp restart: always
bashdocker run -it --rm --name chrony -p 123:123/udp dockurr/chrony
默认情况下,此容器使用NTP池的时间服务器。如果您想使用一个或多个不同的NTP服务器,可以为容器传递NTP_SERVERS环境变量。这可以通过更新compose.yml文件或手动向docker run传递--env=NTP_SERVERS="..."来完成。
以下是配置常见NTP服务器的一些示例。
请注意,要配置多个服务器,必须使用逗号分隔的列表,且不能包含空格。
# (默认) NTP池 NTP_SERVERS="0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org,3.pool.ntp.org" # Cloudflare NTP_SERVERS="time.cloudflare.com" # Google NTP_SERVERS="time1.google.com,time2.google.com,time3.google.com,time4.google.com" # 阿里云 NTP_SERVERS="ntp1.aliyun.com,ntp2.aliyun.com,ntp3.aliyun.com,ntp4.aliyun.com" # 本地(离线) NTP_SERVERS="127.127.1.1"
默认使用UTC时区,但如果您希望将NTP服务器调整为在本地时区运行,只需提供遵循标准TZ数据格式的TZ环境变量。例如,在docker-compose.yaml中,如果您位于加拿大温哥华,可以这样设置:
yaml... environment: TZ: "America/Vancouver" ...
如果您配置的所有NTP_SERVERS都支持NTS(网络时间安全),您可以向容器传递ENABLE_NTS=true选项来启用它。例如,在docker-compose.yaml中,可以这样设置:
yaml... environment: ENABLE_NTS: "true" NTP_SERVERS: "time.cloudflare.com" ...
如果您配置的任何NTP_SERVERS不支持NTS,启动时会看到类似以下的消息:
NTS-KE session with 164.67.62.194:4460 (tick.ucla.edu) timed out
此选项启用对系统时钟的控制。
默认情况下,chronyd不会尝试调整时钟。它会假设时钟是自由运行的,并仍然跟踪其相对于估计真实时间的偏移和频率。这允许chronyd在没有调整或设置系统时钟能力的情况下运行,以作为NTP服务器运行。
启用控制需要授予SYS_TIME权限,并且容器运行时允许该访问:
yaml... cap_add: - SYS_TIME environment: ENABLE_SYSCLK: "true" ...
默认情况下,此项目将信息性消息记录到stdout,这在运行ntp服务时很有帮助。如果您想更改日志详细级别,可以向容器传递LOG_LEVEL环境变量,在首次启动时指定级别(#)。此选项与chrony的-L选项匹配,支持以下级别:0(信息)、1(警告)、2(非致命错误)和3(致命错误)。
有关更多信息,请查看项目文档:
特别感谢@simonrupf创建了原始项目。






manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务