docker -H :4000 events | ./docker_events.py
docker -H :4000 events
를 누를 때까지 이벤트가 계속해서 제공됩니다 Crtl+C
. 그래서 반환된 출력을 구문 분석한 다음 자체 버전의 출력을 제공하는 pipe
사용자 정의 스크립트로 출력을 보냅니다 (실제로는 json 데이터를 !).docker_events.py
docker -H :4000 events
redis
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"