Docker上のUbuntuでsupervisorを使う際のひな形

はじめに

 Docker上で私はsupervisorを使うことを好むのですが、使おうとするたびにぐぐっているので、基本パターンをメモっておくことにした。

Dockerfileの例

FROM ubuntu:14.04

RUN apt-get update && apt-get install -y screen supervisor && rm -rf /var/lib/apt/lists/*

#行末の\の有無に注意。うっかり最終行にも書いてしまい行が繋がってしまい、はまることがある。
RUN touch /etc/supervisord.conf \
&& echo '[inet_http_server]'  >> /etc/supervisord.conf \
&& echo 'port=127.0.0.1:9001'  >> /etc/supervisord.conf \
&& echo '[supervisord]'  >> /etc/supervisord.conf \
&& echo 'nodaemon=true'  >> /etc/supervisord.conf \
&& echo '[rpcinterface:supervisor]'  >> /etc/supervisord.conf \
&& echo 'supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface'  >> /etc/supervisord.conf \
&& echo '[supervisorctl]'  >> /etc/supervisord.conf \
&& echo 'serverurl=http://127.0.0.1:9001'  >> /etc/supervisord.conf \
&& echo '[program:tail]'  >> /etc/supervisord.conf \
&& echo 'command=tail -f /dev/null'  >> /etc/supervisord.conf

CMD /usr/bin/supervisord -c /etc/supervisord.conf