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"

관련 정보