Running Phx application inside docker container, I get regularly attacked by an EPMD zombie. While I am generally aware of
for example, my understanding is that this still applies to misbehaving processes. OTOH I wouldn’t expect part of the core Erlang stuff to misbehave so maybe I am simply unaware of something that I should / should not do when running Phx (or generally Elixir/Erlang stuff) inside a container? Any clues?
EPMD is not started as a child process of erlang node, instead the mode of working is that it gets started with the runtime if it was not already started and the process is responsible for finding and marking all the active nodes on the host. I can confirm that this is true even for more exotic platforms such as android, it is most probably something that stuck historically.
I can’t confirm for sure but I remember reading about erlang deciding to ditch epmd in favor of another discovery system.
I confirmed yesterday – passing RELEASE_DISTRIBUTION=none to the container prevents said zombie from surfacing. In the longer run a proper solution needs to be devised though. Probably something along the “phusion” base docker image lines. Thanks for all answers