Supervisord コマンド出力リダイレクトの使用

Supervisord コマンド出力リダイレクトの使用
docker -H :4000 events | ./docker_events.py

docker -H :4000 eventsを押すまでイベントは引き続き提供されますCrtl+C。そのため、返された出力を解析し、独自のバージョンの出力を提供するカスタムpipeスクリプトに出力を送信します(実際にはjsonデータを!)。docker_events.pydocker -H :4000 eventsredis

supervisord .conf下図のように上記の行を含めました。

[program:docker_events]
command=docker -H :4000 events | python /root/docker_events.py
autostart=true
autorestart=true
stderr_logfile=/var/log/docker_events.err.log
stdout_logfile=/var/log/docker_events.out.log

しかし、うまくいきません。エラーが表示されます。 docker_events.err.log

Usage:  docker events [OPTIONS]

Get real time events from the server
docker: "events" requires 0 arguments.
See 'docker events --help'.

|主張として活用されています。では、この問題を解決できますか?

ベストアンサー1

シェルパイプを使用しましたが、設定ファイルで正しく処理されませんでした。正しいコマンドは次のとおりです。

command=bash -c "docker -H :4000 events | python /root/docker_events.py"

おすすめ記事