I found by docker logs -t pihole that there's a "NTP server listening on localhost" within the docker container. Why? There should be no reason for this or I don't know the reason…
There's also a warning that doesn't make sense within a docker container (when there's already some "time"-demon/service running on linux hosting this container)
WARNING: Insufficient permissions to set system time (CAP_SYS_TIME required), NTP client not available
Pi-hole is typically used installed directly on the device. Running it inside a docker container is only encapsulating the same system in a minimal container environment. So why is it running in the container? Because nobody disabled it and I also don't see it as an issue.
Background for this feature is that it has been requested and there is an RFC concerning DHCP that suggests you may offer NTP together with DHCP as a local service. The NTP server is then actively announced by the DHCP server to its clients. As Pi-hole can act as DHCP server, extending it to also give NTP service out-of-the-box seems a logic extension.
If you open the port into your container, it'd work.
Obviously, your NTP server's time should be as accurate as possible and - when you see the warning about CAP_SYS_TIME not being available, your Pi-hole complains that it could not set/stabilize your system time. You can either grant the capability or disable the feature.