Computer Science/Linux
supervisorctl이란 무엇인가? - 도커 컨테이너 내에서 여러 프로세스 실행하기
2mukee
2024. 2. 17. 16:55
320x100
320x100
supervisorctl
: 유닉스 계열의 시스템에서 여러 프로세스를 모니터링하고 제어하는 프로그램
: 손쉽게 프로세스의 상태를 보여주고 죽은 프로세스도 자동으로 살려줌
: 한 번 실행된 프로그램이 절대로 꺼지지 않도록 도와줌
구성
- supervisor: 프로그램
- supervisord: supervisor 데몬 프로세스
- supervisorctl: supervisor로 구동되는 프로세스를 관리하기 위한 명령어
구성 파일
- /etc/supervisord.conf
# cat supervisord.conf
[supervisord]
nodaemon=true
[program:httpd]
command=/usr/sbin/httpd -k start
[program:vsftpd]
command=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
출처: https://engineer-mole.tistory.com/231 [매일 꾸준히, 더 깊이:티스토리]
공식 문서
도커에서 사용하기
: 전통적으로 Docker 컨테이너는 실행 시 1개의 프로세스를 실행할 수 있다
: 프로세스 관리 툴을 사용하여 컨테이너의 CMD 명령으로 bash 스크립트를 실행하면 컨테이너 내에서 여러 프로세스를 관리할 수 있다 (프로세스 재실행까지 가능)
: Docker 컨테이너에서는 "프로세스가 Foreground로 실행되지 않으면 컨테이너는 종료된다"는 제약이 있는데, supervisor라는 툴을 사용하면 이를 해결할 수 있다
- 사용법
: /etc/su
Reference
300x250
728x90