I\'m trying to start a service with supervisor, but I get an error saying
INFO spawnerr: unknown error making dispatchers for \'app_name\': EACCES
>
I get this error when running supervisord
in an unprivileged Docker container, when I attempt to have supervisord
run as a non-root user, using the [supervisord]
[user]
directive.
This caused by docker #31243 where the container is started as root
then another user is created/switched-to (as per supervisord
changing to non-root) and the restrictive permissions on the container's stdin/stdout/stderr
via it's TTY.
My workaround is to add the non-root user to the tty
group e.g. useradd -G tty supervisord
, making-sure that you run with a tty e.g. docker run ... -t
or Docker Compose tty: true
.