supervisordの導入
1 ダウンドーロドおよびインストール
1.1 EPELパッケージを使ってインストールします。
yum -y --enablerepo=epel install supervisor
2 /etc/supervisord.confを編集します。
2.1 WebUI用のIPアドレスとユーザー名,パスワードを設定します。
vi /etc/supervisord.conf
[supervisord]
http_port=/var/tmp/supervisor.sock ; (default is to run a UNIX domain socket server)
http_port=131.113.102.201:9001 ; (alternately, ip_address:port specifies AF_INET)
http_username=soushi ; (default is no username (open system))
http_password=password ; (default is no password (open system))
2.2 プロセスの設定ファイル/etc/supervisord.d/*.iniを読み込むようにします。
vi /etc/supervisord.conf
[include]
files = /etc/supervisord.d/*.ini
3 起動します。
service supervisord start
chkconfig supervisord on
4 プロセスの登録
- supervisordによってデーモン化したいプロセスを登録します。
- <プロセス名>.iniというテキストファイルを作成し、その中に起動コマンドなどを書いてから、/etc/supervisord.d/に保存しておくと、supervisordが自動でプロセスを起動してくれます。
- 今回は、練習として、zookeeperを登録します。
vi /etc/supervisord.d/zookeeper.ini
[program:Zookeeper]
command=/usr/local/zookeeper/bin/zkServer.sh start
6 コンテナで使うためのスクリプト
RUN mkdir -p /usr/local/download/
WORKDIR /usr/local/download/
RUN curl -O wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
RUN rpm -Uvh epel-release-6-8.noarch.rpm
RUN yum -y install supervisor
ADD supervisord.conf /etc/supervisord.conf
VOLUME ["/etc/supervisord.d"]