Discussion:
[Supervisor-users] Getting “returning exit status 127; not expected)” on Docker
Martin Volpe
2016-08-16 17:46:34 UTC
Permalink
I'm trying to run Supervisor with Gunicorn inside a Docker container and I
get the error on the title.

Here is how I configure supervisor:

[supervisord]
nodaemon=true

[program:djangoonlyfonts]
command = /code/deploy/gunicorn.sh ; Command to start app
stdout_logfile = /var/log/supervisor/supervisor.log ; Where to write
log messages
redirect_stderr = true ; Save stderr in the same log
autostart=true
autorestart=true

gunicorn.sh:

#!/bin/bash

cd /code
export DJANGO_SETTINGS_MODULE=fuentes.settingsser
/usr/local/bin/gunicorn -b 0.0.0.0:8000 --workers=1 fuentes.wsgi:application

And then I get:

***@3eb7d4cb7a4e:/code# supervisord
/usr/local/lib/python2.7/site-packages/supervisor/options.py:296:
UserWarning: Supervisord is running as root and it is searching for
its configuration file in default locations (including its current
working directory); you probably want to specify a "-c" argument
specifying an absolute path to a configuration file for improved
security.
'Supervisord is running as root and it is searching '
2016-08-16 07:53:37,712 CRIT Supervisor running as root (no user in config file)
2016-08-16 07:53:37,715 INFO supervisord started with pid 64
2016-08-16 07:53:38,717 INFO spawned: 'djangoonlyfonts' with pid 67
2016-08-16 07:53:38,721 INFO exited: djangoonlyfonts (exit status 127;
not expected)
2016-08-16 07:53:39,723 INFO spawned: 'djangoonlyfonts' with pid 68
2016-08-16 07:53:39,728 INFO exited: djangoonlyfonts (exit status 127;
not expected)
2016-08-16 07:53:41,732 INFO spawned: 'djangoonlyfonts' with pid 69
2016-08-16 07:53:41,735 INFO exited: djangoonlyfonts (exit status 127;
not expected)
2016-08-16 07:53:44,740 INFO spawned: 'djangoonlyfonts' with pid 70
2016-08-16 07:53:44,743 INFO exited: djangoonlyfonts (exit status 127;
not expected)
2016-08-16 07:53:45,745 INFO gave up: djangoonlyfonts entered FATAL
state, too many start retries too quickly

but when I execute the command directly:

***@3eb7d4cb7a4e:~# /code/deploy/gunicorn.sh
[2016-08-16 07:55:19 +0000] [84] [INFO] Starting gunicorn 19.6.0
[2016-08-16 07:55:19 +0000] [84] [INFO] Listening at: http://0.0.0.0:8000 (84)
[2016-08-16 07:55:19 +0000] [84] [INFO] Using worker: sync
[2016-08-16 07:55:19 +0000] [89] [INFO] Booting worker with pid: 89
The production file is loaded

*It just works*, which proves the file I'm trying to execute exist, it is
perfectly executable and it actually works.


Thank you all very much,

Volpe

Loading...