Docker 컨테이너의 Alpine에서 syslogd를 서비스로 추가

Docker 컨테이너의 Alpine에서 syslogd를 서비스로 추가

제대로 작동하려면 syslog가 필요한 프로그램이 있습니다. 저는 Alpine 컨테이너 버전 3.16.0을 사용하고 있습니다. 내 프로그램( )에서 여러 오류가 발생했을 때 weewx컨테이너에서 syslog가 실행되고 있지 않다는 것을 알고 어떻게 실행해야 할지 알아보았지만 거의 성공하지 못했습니다.

openrc( ) 설치 후 apk add --no-cache openrc추천대로 서비스로 추가해 보았습니다.알파인 위키, 그러나 실행한 후 rc-update add syslogd boot다음 오류가 발생합니다.

rc-update: service `syslogd' does not exist

저는 서비스 경험이 별로 없어서 물어보기로 했어요. 컨테이너가 시작될 때 syslogd를 데몬으로 실행하는 올바른 방법은 무엇입니까? 지금 실행하려면 수동으로 시작하지만 자동으로 실행하면 좋을 것 같습니다.

감사해요!

답변1

방금 이 질문을 접했는데 이 질문이 7개월 동안 답변이 없었고 Alpine 위키에서 이를 다루지 않았기 때문에 약간 실망했습니다.

  1. 명령은 실제로 rc-update add syslog bootsyslogd가 아니라 입니다.
  2. 아직 추가하지 않았다면 Alpine < 3.17에서 추가해야 합니다.오픈소스 라이브러리그리고비지박스 초기화 스크립트그리고 apk add openrc busybox-initscripts. Alpine >= 3.17에서는 단일 패키지를 추가할 수 있습니다.apk add busybox-openrc

답변2

어떻게든 시스템 로깅을 시작하기 위해 이상한 의식을 거쳤습니다. PAM 서비스를 통해 승인을 추적해야 합니다.

내 명령:

run --privileged ... image

컨테이너의 명령

apk add syslog-ng busybox-openrc
rc-update add syslog boot
rc-status
touch /run/openrc/softlevel
rc-service syslog start
rc-service syslog status

그런 다음 파일의 로그를 추적합니다./var/log/messages

관련 정보