2016-12-11 4 views
0

Я использую supervisord для запуска openfire внутри контейнера докеров, но supervisord говорит, что процесс завершен, но на самом деле он работает, когда я открываю открытый порт. Я вижу панель управления openfire, хотя панель управления супервизора показывает его выход изНевозможно запустить Openfire с помощью супервизора в контейнере докера

Вот мои журналы контейнер

/usr/lib/python2.7/site-packages/supervisor-3.3.1-py2.7.egg/supervisor/options.py:298: 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-12-10 02:44:28,562 CRIT Supervisor running as root (no user in config file) 
2016-12-10 02:44:28,628 INFO RPC interface 'supervisor' initialized 
2016-12-10 02:44:28,630 INFO supervisord started with pid 1 
2016-12-10 02:44:29,635 INFO spawned: 'openfire' with pid 7 
2016-12-10 02:44:30,734 INFO success: openfire entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 
2016-12-10 02:44:30,792 INFO exited: openfire (exit status 0; expected) 
2016-12-10 02:46:04,355 INFO spawned: 'openfire' with pid 56 
2016-12-10 02:46:04,410 INFO exited: openfire (exit status 1; not expected) 
2016-12-10 02:46:05,415 INFO spawned: 'openfire' with pid 65 
2016-12-10 02:46:05,464 INFO exited: openfire (exit status 1; not expected) 

Вот мой supervisord конф файл

[supervisord] 
nodaemon=true 

[program:openfire] 
command=/etc/init.d/openfire start 

[supervisorctl] 
serverurl=http://localhost:8090 

[rpcinterface:supervisor] 
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface 

[inet_http_server] 
port = 8090 

То же самое происходит со мной, когда я запускаю Nginx и PHP-FPM, но в этом случае супервизор не запускает его, как здесь. PHPfpm and Nginx not working in Docker with Supervisord

Может кто-нибудь сказать мне, что я делаю неправильно здесь? Я новичок в докере, поэтому я могу пропустить некоторые ключевые моменты здесь.

ответ

0

Что вы начинаете с супервизора, должно работать на переднем плане, а не демоннизировать себя (см. docs). Вместо этого измените команду на (соответственно изменение папок):

command=/usr/bin/java -server -DopenfireHome=/usr/share/openfire -Dopenfire.lib.dir=/usr/share/openfire/lib -classpath /usr/share/openfire/lib/startup.jar -jar /usr/share/openfire/lib/startup.jar 
Смежные вопросы