The service was logging that it could not log: how a full disk turned into a self-feeding outage
A one-off ENOSPC became permanent because the database could not write its own log file, said so on stderr for every message, and Docker's json-file driver captured that into a file whose max-size defaults to unlimited. Freeing the disk restores inserts and leaves the loop running: upstream says the logger does not recover without a restart.