I am running a Rails 8 application (screenshots.debian.net) as a Docker container in production. My Dockerfile calls it from “thrust”:
# Start server via Thruster by default, this can be overwritten at runtime
EXPOSE 80
CMD ["./bin/thrust", "./bin/rails", "server"]
There are currently 193 defunct curl processes as children from my web app. pstree output:
|-containerd-shim -namespace moby -id … -address/run/
| |-thrust ./bin/rails server
| | |-(curl)
| | |-(curl)
| | |-(curl)
| | |-(curl)
| | |-(curl)
[…]
I fail to find the cause for it. “thrust” (from the “thruster” gem) does not seem to call curl (from grepping through the source code). I don’t call “curl” from my application either. Coolify (an open-source deployment software managing containers, proxys, monitoring etc.) runs health checks but that would not be children of the “thrust rails server” process.
This deployment has been up for a week. So with about 200 defunct curl processes it means that this happens roughly once per hour.
Any pointers are very welcome.