Nginx healthcheck does not stop
If you see the logs, there's exactly 15s between the calls. Which is what you have configured in you docker compose file.
If you don't want it to keep pinging after it finds out that the server is alive, you have two options (which is not recommended to do):

Don't use healthcheck, just add your logic in the command part
Setup a higher interval for your healthcheck

Also, I have questions for you:

Why do you want the healthcheck to be done only once?
What if you server goes down, don't you want to restart it?

My recommendation is to keep this config as is because it does the work of checking for your service availability and will restart as needed and quickly.